簡體   English   中英

如何使 lodash _.replace 所有出現在字符串中?

[英]How make lodash _.replace all occurrence in a string?

如何用另一個字符串替換字符串中每次出現的字符串模式?

var text = "azertyazerty";
_.replace(text,"az","qu")

返回quertyazerty

你也可以這樣做

var text = "azertyazerty";
var result = _.replace(text, /az/g, "qu");

你必須使用 lodash 提供的帶有全局選項的 RegExp。

所以只需使用

var text = "azertyazerty";
_.replace(text,new RegExp("az","g"),"qu")

返回quertyquerty

我喜歡 lodash,但這可能是少數沒有它更容易的事情之一。

var str = str.split(searchStr).join(replaceStr)

作為帶有一些錯誤檢查的實用函數:

var replaceAll = function (str, search, replacement) {
  var newStr = ''
  if (_.isString(str)) { // maybe add a lodash test? Will not handle numbers now.
    newStr = str.split(search).join(replacement)
  }
  return newStr
}

為了完整起見,如果您真的真的想使用 lodash,那么要實際替換文本,請將結果分配給變量。

var text = 'find me find me find me'
text = _.replace(text,new RegExp('find','g'),'replace')

參考資料: 如何替換 JavaScript 中所有出現的字符串?

Vanilla JS 完全有能力在沒有 lodash 幫助的情況下做你需要的事情。

const text = "azertyazerty"
text.replace(new RegExp("az", "g"), "qu")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM