JavaScript - 有没有办法检查字符串是否包含关键字但只包含该关键字?

时间:2018-01-18 12:53:31

标签: javascript string

我目前正在使用string.includes()方法检查字符串中的关键字“rally”。但是,如果我有“我可以举行集会吗?”的文字,那么它的回答与“我在道德上是错误的吗?”相同。有没有办法做到这一点?

3 个答案:

答案 0 :(得分:1)

试试这个

 'Can I have a rally?'.match(/(\w+)/g).indexOf("rally") !== -1  // will return true


 'Am I morally wrong?'.match(/(\w+)/g).indexOf("rally") !== -1 // will return false

答案 1 :(得分:0)

编辑使用正则表达式

let text = "Am I mo rally wrong";

function searchText(searchOnString, searchText) {
  searchText = searchText.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
  return searchOnString.match(new RegExp("\\b"+searchText+"\\b", "i")) != null;
}

console.log(searchText(text, "rally"));

答案 2 :(得分:0)

也许你只是添加空间。所以道德会给出错误的结果。这会将每个位置可能的单词检查成句子,整个字符串也是"拉力"。



var string = "Can I have rally";

console.log(string==="rally" ? true : false || string.includes(' rally') || string.includes('rally ') || string.includes(' rally '));