在Javascript中从String(从数组)中删除

时间:2012-11-16 16:04:14

标签: javascript

  

可能重复:
  Remove a word from a string

我有一个简单的字符串var mystr = "Lorem ipsum dolor sit amet, consectetur adipiscing elit",我有一个数组var lipsums = new Array("dolor","consectetur","elit");现在,我想要一个简单的函数,它将删除字符串中的任何相同的单词。

所以,在上面的例子中,它应该删除单词“dolor”,“consectetur”和“elit”,我的字符串mystr应该是"Lorem ipsum sit amet, adipiscing"

这个脚本应该是Javascript(没有jQuery)。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

像这样:

for(i=0; i<lipsums.length; i++) {
   mystr = mystr.replace(new RegExp(lipsums[i],"g"), "");
}

在循环之后添加此项以删除双白空格:

mystr = mystr.replace(/\s{2,}/g, ' ');

答案 1 :(得分:1)

遍历要移除的单词数组,通过split / join删除所有出现:

for (var i = 0; i < lipsums.length; i++) {
    mystr = mystr.split(lipsums[i]).join('');
}

http://jsfiddle.net/9Rgzd/

您可能还想在之后清理空白,这可以使用正则表达式进行清理:

// Note: don't do this in the loop!
mystr = mystr.replace(/\s{2,}/g, ' ');

http://jsfiddle.net/9Rgzd/1/