2017-06-17 13 views
-1

問題があります。ここでは文字列です:JavaScriptに文字列の一部が含まれています

var string = "somethingthatidontneed" 

と私は、彼らがstringであるかどうかを確認したい列の配列を作成しました。

var arrString = ['some', 'that', 'dont'] 

この事は、私はarrStringから単語のパターンに一致し、それらをカウントされませんすべての文字を取得したいということです。だからこの場合、私は10という数字を受け取りたいと思っています(言い換えれば 'thingineed')。

私は助けていただきありがとうございます。

+0

したがって、arrStringで見つかった単語のvar文字列を削除しますか?恐らくループ内の文字列置換メソッドを見てください –

+1

どこに問題がありますか? –

+0

これはこれを行います: 'arrString.forEach(str => {string = string.replace(str、 '');});'。その後、単に 'string.length'を実行してカウントを取得します。 – abhishekkannojia

答えて

0

必要なものを保存する代わりに、String.replaceを使用して、不要なすべてのオカレンスを削除します。 global修飾子を使用すると、文字列が複数回出現するとすべての出現が削除されるため、通常のエクスプレッションが必要です。

これは、元の文字列を変更することに注意してください。

​​
+2

からのパターンに適合しない文字数を取得する場所または 'string = string.replace(new RegExp(arrString.join( '|')、 'g')、 '')' - ループなし: p –

関連する問題