JavaScript 配列を使用した文字列内の部分文字列の検索
文字列に配列の部分文字列が含まれているかどうかを判断するために、JavaScript は柔軟なアプローチを提供します.
Array Some Method
some メソッドは配列を反復処理し、各要素をテストするコールバック関数を提供します。部分文字列を確認するには、indexOf() メソッドを使用して文字列内の各配列要素を検索します。
if (substrings.some(function(v) { return str.indexOf(v) >= 0; })) {
// There's at least one substring match
}
正規表現
正規表現は、テキスト パターンを照合する強力な方法を提供します。文字列内の配列内の任意の部分文字列を検索するには、代替オプションとしてすべての部分文字列を含む正規表現を作成し、test() メソッドを使用します。
const regex = new RegExp(substrings.join("|"));
if (regex.test(str)) {
// At least one substring matches
}
例
部分文字列の配列を考えてみましょう:
const substrings = ["one", "two", "three"];
部分文字列が一致する文字列
const str = "This string includes \"one\".";
// Using array some method
const someMethodMatch = substrings.some(v => str.includes(v));
// Using regular expression
const regexMatch = str.match(new RegExp(substrings.join("|")));
部分文字列一致のない文字列
const str = "This string doesn't have any substrings.";
// Using array some method
const someMethodNoMatch = substrings.some(v => str.includes(v));
// Using regular expression
const regexNoMatch = str.match(new RegExp(substrings.join("|")));
結果
テストメソッド | 一致する文字列 | 一致しない文字列 |
---|---|---|
配列 some | someMethodMatch = true | someMethodNoMatch = false |
正規表現 | regexMatch = true | regexNoMatch = null |
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3