我如何搜索字符串中的单词?
示例
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()
我怎么做?感谢
答案 0 :(得分:1)
使用正则表达式检查。 Google可以通过词边界来了解有关它们的更多信息。
/\bbest\b/i.test("Stackoverflow is the BEST")
\b
是正则表达式中的单词边界字符。 /i
是无视案例。将best
替换为您的搜索字词。
答案 1 :(得分:1)
\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');
}
答案 2 :(得分:0)
我知道这有点冗长,但为什么不能这样:
var exists = function (content, q) {
var result = content.split(" ").filter(function(item) {
return item.toLowerCase() === q.toLowerCase();
});
return result.length > 0;
};
这是fiddle。
答案 3 :(得分:-1)
使用.test()
var string="Stackoverflow is the BEST";
var result= /s/i.test(string);
alert(result);