2017-07-13 13 views
-1
var inputString = '$$'; 
    // var inputString = '$'; 


    inputString.indexOf('$') returns > -1 index when inputString is '$'. 
    inputString.indexOf('$$') returns > -1 index when inputString is '$' - this is not desired output. 

完全一致存在するときかつそのときのみ、私は真/戻り値を与えるものが必要「$$」の大きな文字列内のなく1その中の文字が見つかります。は、文字列に@@@を検索する必要がJavaScriptの

例えば

「テストは$$」「$$テスト」真 「テスト$」の 「$$テストは」 真でfalseである私があるのか​​どうかを確認しようとしています

真でありますこれを行うJavascriptの組み込みメソッド。 'includes'または 'search'にもindexOfと同じ問題があります。これを解決する他の方法は、おそらく特定の正規表現で非効率的ではない?

+0

おそらくあなたの入力文字列はあなたが思うものではないでしょう。 –

+0

この文脈で「一緒に」は何を意味しますか? – ASDFGerte

+0

質問の編集 –

答えて

0

これらの特定の要件がある理由は少し戸惑っていますが、非常に高速に作成できます。あなたの例はあなたの説明と一致しません。次の関数は、あなたが記述したことを行います。 "true /は、より大きい文字列内に '$$'が完全に一致する場合にのみ値を返します。一致するものがないときにfalseをしたい場合は、単にリターンをそれに応じて交換するか、代わりにindexOfを使用するのでは、ほとんどすべてあなたが言及した機能のが使用されている可能性がRegExp.prototype.test/\$\$/.test("ug23487$§%fd$$s8w374") === true;

function contains(x) { 
 
    if (this.indexOf(x) !== -1) return true; 
 
    else return undefined; 
 
} 
 

 
String.prototype.contains = contains; 
 

 
console.log(contains.call("$", "$$")); 
 
console.log("$".contains("$$")); 
 
console.log("ug23487$§%fd$$s8w374".contains("$$"));

注意を使用indexOf( '$ @ $') `は-1です。ここで(パラメータ/コードの小さな調整で)

関連する問題