文字列内の単語を検索しようとしています。
re = new RegExp("bob");
checkWord = re.test("This is bobby!");
if (checkWord) { break; }
「bob」だけを探しているのでcheckWord=falseが必要ですが、「bobby」には「bob」という単語が含まれているため、checkWord=trueです。この問題を解決するにはどうすればよいですか?ありがとう。
文字列内の単語を検索しようとしています。
re = new RegExp("bob");
checkWord = re.test("This is bobby!");
if (checkWord) { break; }
「bob」だけを探しているのでcheckWord=falseが必要ですが、「bobby」には「bob」という単語が含まれているため、checkWord=trueです。この問題を解決するにはどうすればよいですか?ありがとう。
単語の境界を使用して機能するはずです。
re = /\bbob\b/;
これは、2つの異なる方法で実現できます。
境界を与える
\bbob\b
またはそれらをグループ化します
\b(bob)\b
どちらも機能します。
これが実際の例です。
また、配列を使用している場合は、それぞれをループして個別に確認してください。
この目的のために、次の方法を試すこともできます。
nameArray = new Array("Bob", "Ben", "Don");
for (i = 0; i < nameArray.length; i++) {
if(nameArray[i].indexOf("Bob") != -1)
{
alert("true");
}
else
{
alert("false");
}
}