我熟悉搜索给定子字符串的字符串:
if (string.indexOf(substring) > -1) {
var containsSubstring = true;
}
但是如果子串需要一个单词怎么办?
一句话:
- 它必须位于字符串的开头,后面有空格;或
- 在字符串的末尾,前面有一个空格;或
- 在字符串的中间,每边都有一个空格
如果我正在寻找子串fox
:
the quick brown fox // matches
fox jumps over the lazy dog // matches
quick brown fox jumps over // matches
the quick brownfox // does not match
foxjumps over the lazy dog // does not match
quick brownfox jumps over // does not match
quick brown foxjumps over // does not match
quick brownfoxjumps over // does not match
有没有办法用indexOf
来实现上述结果,还是需要使用正则表达式?
答案 0 :(得分:1)
您可以使用search方法。
var string = "foxs sas"
var search = string.search(/\bfox\b/) >= 0? true : false;
console.log(search)
答案 1 :(得分:1)
您是否尝试过使用带有字边界的正则表达式:
if (/(\bfox\b)/g.test(substring)) {
var containsSubstring = true;
}
答案 2 :(得分:0)
你可以通过检查它是否在字符串的开头并且在字符串之后有空格,或者在字符串的末尾并且在字符串之前有空格,或者在字符串的中间并且有空格来实现这一点。之前和之后。