文字列の一部を比較するにはどうすればよいですか?たとえば、文字列Aが文字列Bの一部であるかどうかを比較したい場合は、次のことを確認したいと思います。いつstring A = "abcd"
、string B = "abcdef"
trueを返す必要があるか。JavaScriptでそれを行うにはどうすればよいですか?使用する場合、およびパラメーターsubstring(start, end)
に渡す値がわかりません。何か案は?start
end
質問する
41154 次
7 に答える
27
あなたが使用することができますindexOf
:
if ( stringB.indexOf( stringA ) > -1 ) {
// String B contains String A
}
于 2012-12-12T06:21:11.273 に答える
18
このような:
var str = "abcdef";
if (str.indexOf("abcd") >= 0)
大文字と小文字が区別されることに注意してください。大文字と小文字を区別しない検索が必要な場合は、次のように記述できます
if (str.toLowerCase().indexOf("abcd") >= 0)
または、
if (/abcd/i.test(str))
大文字と小文字を区別しない検索の一般的なバージョンでは、大文字と小文字の任意の文字列を設定できます
if (stringA.toLowerCase().indexOf(stringB.toLowerCase()) >= 0)
于 2012-12-12T06:28:24.163 に答える
4
大きな文字列を扱っていて、文字列の先頭のみを検証する必要がある場合、indexOf または match を使用すると、不必要に遅くなります。より良い解決策は、 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWithからの startsWith() または同等の関数を使用することです:
if (!String.prototype.startsWith) {
String.prototype.startsWith = function(searchString, position){
position = position || 0;
return this.substr(position, searchString.length) === searchString;
};
}
于 2016-04-07T22:28:07.063 に答える
3
"abcdef".indexOf("abcd") !== -1
大丈夫なはずです
于 2012-12-12T06:21:07.670 に答える
1
JavaScript検索も試すことができます
if( stringA.search(stringB) > -1){
}
于 2012-12-12T06:25:16.267 に答える
1
正規表現を使用すると役立つ場合があります。
var patt = new RegExp(stringA, 'i');
if(stringB.match(patt)){
return true;
}
于 2012-12-12T06:27:18.797 に答える