嘿,我正在寻找从字符串中删除单词,事情是要替换的单词可能是两个不同的单词。
e.g。
foo = "stringtest";
id = foo.replace('string', '');
或
foo = "paragraphtest";
id = foo.replace('paragraph', '');
目前我已经解决了这个问题。
foo = "paragraphtest";
id = foo.replace('paragraph', '');
id = foo.replace('string', '');
我知道这段代码很容易改进,但我不知道如何:(感谢您的帮助。
答案 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);