2

重複の可能性:
文字列から単語を削除します

単純な文字列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ではない)である必要があります。どんな助けでもいただければ幸いです。

4

2 に答える 2

1

このような:

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

ループの後にこれを追加して、二重空白を削除します。

mystr = mystr.replace(/\s{2,}/g, ' ');
于 2012-11-16T16:06:57.113 に答える
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/

于 2012-11-16T16:07:32.673 に答える