javascript-一次替换多个文本

时间:2018-07-03 10:00:59

标签: javascript

我正在寻找一种简便快捷的方法来替换javascript中的多个字符串。

我当前的方法如下:

string.replace(string.replace(searchValue, newValue),newValue)

如果我必须在文本中替换10个字符串,那么这将非常大。还有其他方法可用于替换javascript中的文本吗?

3 个答案:

答案 0 :(得分:1)

您可以使用replace并使用正则表达式     test.replace(/ hello / g,“自由”); 工作示例:

var test = "hello world , mine is hello and i will replace all hello with liberty"
var newStr = test.replace(/hello/g, "liberty");
console.log(newStr);

答案 1 :(得分:0)

let str= "I am a am man";

function replaceString(fullString, searchValue, replaceValue) {
  while(!!~fullString.indexOf(searchValue)){
    fullString = fullString.replace(searchValue, replaceValue)
  }
  return fullString;
}
console.log(replaceString(str, 'am', 'x'))

您可以使用简单的while循环,并使用indexOf来检查是否存在,然后替换,直到我们找不到文本为止

答案 2 :(得分:0)

splitmapreplace应该适合您:

const replaceString = (str, searchValue, newValue) => {
	let replaceStr = str.split(" ").map(value => {
  	  	return value.replace(searchValue, newValue);
  });
  console.log(replaceStr.join(" ")); // Just for demo purpose, I am outputting the result to the console
};

const string = 'Hello world! How are you dear world?';
replaceString(string, 'world', 'earth');