2016-11-11 5 views
-1

特定のテキストを検索し、その行に存在するかどうかを確認しようとしています。表示されている場合は「はい」、そうでない場合は「いいえ」と表示されます。現在JS RegExとWhileループの組み合わせ

は私が持っているもの:

const str = `Hello my name is Stack Overlow.` 
const publish = /Hello/g; 
    let pub; 
    while ((pub = publish.exec(str)) !== null) { 
     if (pub.index === publish.lastIndex) { 
      publish.lastIndex++; 
     } 
     pub.forEach((ko, groupIndex) => { 
      document.write(`"Exists": "${ko}",<br>`); 
     }); 
    } 
+1

質問はありません。また、あなたのコードで "はい"と "いいえ"はどこですか? – trincot

答えて

1

はこれを試してください:あなたが正規表現に特に熱心でないなら

var string = 'Hello my name is not important'; 
 
var pattern = /Hello/g; 
 

 
if(pattern.test(string)) { 
 
    console.log('yes'); 
 
} 
 
else { 
 
    console.log('no'); 
 
}

0

あなたはまた、indexOf()でこれを行うことができます。

const str = 'Hello my name is Stack Overlow.' 
 
const containsSubstring = (string, substring) => ~string.indexOf(substring) ? 'Yes' : 'No'; 
 

 
console.log(containsSubstring(str, 'Hello')); // 'Yes'

私はまた、匿名関数containsSubstringにチェックを包みました。 containsSubstringに文字列/部分文字列のペアを指定してコードを書き直したり繰り返したりする必要がないので、後で他の部分文字列をチェックしようとすると、これが繰り返されることはありません。

関連する問題