2012-12-12 4 views
10

文字列の一部を比較するにはどうすればよいですか?例えば、文字列Aの一部を文字列の一部にする場合など - このようにしたいと思います。文字列A = "abcd"文字列B = " abcdef "は真を返す必要があります - 私はどのようにそれを行うのですか、部分的な文字列を使用するには、比較するJavaScriptが同じ単語でなければなりません。何か案は?文字列の一部を比較する

if (stringB.indexOf(stringA) > -1) { 
    // String B contains String A 
} 
+1

あなたはより多くのような記述と – polin

答えて

1

"abcdef".indexOf("abcd") !== -1はあなたがindexOfを使用することができます

15

大丈夫でなければなりません。このよう

var patt = new RegExp(stringA, 'i'); 
if(stringB.match(patt)){        
    return true; 
} 
+0

本当にありがとうございましたいくつかの例やコードを与える必要が... – user1022521

1

あなたはあなたを助けるかもしれない正規表現を使用しても

if(stringA.search(stringB) > -1){ 
} 
1

をjavascriptの検索を試すことができます。

7

:これは大文字と小文字が区別されること

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) 
1

大きな文字列を扱っていて、文字列の先頭を検証する必要がある場合は、indexOfまたはmatchを使用するのが不必要に遅くなります。よりよい解決策はhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWithからのstartsWith()または同等function--を使用することです:

if (!String.prototype.startsWith) { 
    String.prototype.startsWith = function(searchString, position){ 
     position = position || 0; 
     return this.substr(position, searchString.length) === searchString; 
    }; 
}