Как я могу искать слово в строке?
пример
var string="Stackoverflow is the BEST";
if i search 'BEST' it should return true
if i search 'is' it should return true
if i search 'bEST' it should return true
if i search 'BES' it should return false
if i search 'flow' it should return false
Я пробовал следующее:
match()
search()
indexof()
Как я могу это сделать? благодаря
\b
- символ границы слова в регулярном выражении. /i
- это случай игнорирования. Замените слово поиском наилучшим.
var string="Stackoverflow is the BEST";
var searchText = "Stackoverflow";
var re = new RegExp("\\b"+searchText+"\\b",'i');
if ( re.test(string)){
alert('match');
}else {
alert('not match');
}
Используйте проверку регулярных выражений. Google, чтобы узнать больше о них.
/\bbest\b/i.test("Stackoverflow is the BEST")
\b
- символ границы слова в регулярном выражении. /i
- это случай игнорирования. Замените слово поиском best
.
Я знаю, что это немного более многословно, но почему бы не что-то вроде:
var exists = function (content, q) {
var result = content.split(" ").filter(function(item) {
return item.toLowerCase() === q.toLowerCase();
});
return result.length > 0;
};
Вот скрипка.
использовать .test()
var string="Stackoverflow is the BEST";
var result= /s/i.test(string);
alert(result);