私は次のような文字列を持っています
:21 :: 22 :: 24 :: 99:
そして、私はその文字列にあるかどうかを見つけたいと思い:22:
ます。しかし、上記のような文字列を検索して、javascriptと一致させたいものを探す方法はありますか?ある場合は、正規表現の魔法が含まれていますか、それとも他に何かありますか?いずれにせよ、それを行う方法がわからない場合は、正規表現が関係している場合はさらにそうです。
私は次のような文字列を持っています
:21 :: 22 :: 24 :: 99:
そして、私はその文字列にあるかどうかを見つけたいと思い:22:
ます。しかし、上記のような文字列を検索して、javascriptと一致させたいものを探す方法はありますか?ある場合は、正規表現の魔法が含まれていますか、それとも他に何かありますか?いずれにせよ、それを行う方法がわからない場合は、正規表現が関係している場合はさらにそうです。
必要な正規表現を作成できます。
function findNumberInString(num, s) {
var re = new RegExp(':' + num + ':');
return re.test(s);
}
var s = ':21::22::24::99';
var n = '22';
findNumberInString(n, s); // true
または単に一致を使用します(テストは私にとってよりクリーンですが)
!!s.match(':' + n + ':'); // true
上記はどちらも正規表現を使用しているため、10進数のポイント(。)は任意の文字を表すようになります。したがって、「4.1」は「461」または「4z1」に一致するため、念のために基づいた方法を使用することをString.prototype.indexOf
お勧めします(「。」は任意の文字を表したい)、Blenderのコメントによると:
function findNumberInString(num, s) {
return s.indexOf(':' + num + ':') != -1;
}
このような:
aStr = ':21::22::24::99:';
if(aStr.indexOf(':22:') != -1){
//':22:' exists in aStr
}
else{
//it doesn't
}