Javascript:检查字符串中匹配的关键字数组

时间:2019-02-27 07:31:53

标签: javascript arrays string variables substring

我要完成的工作(伪代码):

+----+-----+------------+
|s.no| name|     Country|
+----+-----+------------+
| 101|  xyz|       India|
| 102|  abc|UnitedStates|
+----+-----+------------+

s.no name Country 101 xyz India,IN 102 abc UnitedStates,US 是一个动态变量。我可以使用一个关键字来使其正常工作,但是我正在尝试让它对照单词列表进行检查。不管有什么用,都不需要与include()一起使用。

谢谢您的时间!

2 个答案:

答案 0 :(得分:2)

您可以创建一个关键字数组,并使用some来检查字符串中是否至少有一个这样的关键字:

const caption = "I love dogs";
const animals = ["dog", "fish", "bird", "cat"];
const exists = animals.some(animal => caption.includes(animal))

if (exists) {
  console.log("Yes");
  // notify 
}

或者您可以使用这样的正则表达式:

const animals = ["dog", "fish", "bird", "cat"];
const regex = new RegExp(animals.join("|")) // animals seperated by a pipe "|"

if (regex.test("I love cats")) {
  console.log("Yes");
}

// if you don't want to create an array then:
if (/dog|fish|bird|cat/.test("I love elephants")) {
  console.log("Yes");
} else {
  console.log("No")
}

答案 1 :(得分:1)

不需要创建额外的数组,请使用https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search

let caption = 'cat'
if(caption.search(/dog|fish|cat|bird/) !== -1) {
	console.log('found')
}