从字符串javascript中删除文本中的两个单词

时间:2014-06-24 15:46:28

标签: javascript string replace

嘿,我正在寻找从字符串中删除单词,事情是要替换的单词可能是两个不同的单词。

e.g。

foo = "stringtest";
id = foo.replace('string', '');

foo = "paragraphtest";
id = foo.replace('paragraph', '');

目前我已经解决了这个问题。

foo = "paragraphtest";
id = foo.replace('paragraph', '');
id = foo.replace('string', '');

我知道这段代码很容易改进,但我不知道如何:(感谢您的帮助。

3 个答案:

答案 0 :(得分:6)

喜欢这个吗?

var foo = ["paragraph","string"];
var id = foo.replace(new RegExp(foo.join("|"),""));

上面创建了包含要替换的字符串的数组,并将其与|构造函数中的RegExp连接,并将匹配替换为空字符串。

答案 1 :(得分:0)

if(foo.indexOf("ph") > -1)
 id = foo.replace('paragraph', '');
else
 id = foo.replace('string', '');

答案 2 :(得分:0)

这样的事可能。这也可以让您灵活地修改替换每个字符串的内容。

var replacementCharacters = [
  {
    searchString: "paragraph",
    replacementString: ""
  },
  {
    searchString: "string",
    replacementString: ""
  }
];

function runReplacement(str) {
  var returnValue = str;
  for (var i = 0; i < replacementCharacters.length; i++) {
    returnValue = returnValue.replace(replacementCharacters[i].searchString, replacementCharacters[i].replacementString);
  }
  return returnValue;
}


var foo = "paragraphtest";
var id = runReplacement(foo);

以下是演示http://jsfiddle.net/RfKt4/