質問:
String.contains()
メソッドだと思ったんだけど、ちょっと違うみたい。これをチェックするいい方法ってあるかな?
回答1:
考えられる方法としてはこんな感じ:
- indexOfvar string = "foo",substring = "oo";string.indexOf(substring) !== -1;
String.prototype.indexOf
は、ある文字列の中にある他の文字列の位置を返す。見つからなければ -1
を返す。
|
- search - この回答参照
|
- lodash includes - この回答参照
|
- RegExp - この回答参照
|
- Match - この回答参照
|
パフォーマンステスト(http://jsben.ch/#/RVYk7)の結果によればでは、indexOfが最速みたいなので、スピードが重要なポイントになる場合は、最良の選択かも。
By Fabien Ménager | 回答日時: Nov 24 ‘09 at 13:05
回答2:
こうやればStringに contains
メソッドを簡単に追加できるよ:
function(it){このthis.indexOfを返します! }; }String.prototype.contains = function(it) { return this.indexOf(it) != -1; };
_Note:これを使うのはいろいろ議論の別れるところだけど、自分自身の判断で使用して。
これ以外だと:
|
By Avi Flax | 回答日時: Dec 30 ‘09 at 4:23
回答3:
JavaScriptが大文字と小文字を区別するのに気をつけて。きみのコードだと、
|
でも実際には
|
これを修正し、うまくいくか確認してみて:
|
By Victor | 回答日時: Nov 24 ‘09 at 14:17
Source: How to check whether a string contains a substring in JavaScript?