javascript - Javascript:检查字符串中匹配的关键字数组
问题描述
我想要完成的事情(伪代码):
if caption.includes("dog" or "fish" or "bird" or "cat") {
// notify me
}
caption
是一个动态变量。我可以使用一个关键字让它工作,但我试图让它检查一个单词列表。不需要与includes()一起使用,只要有效。
感谢您的时间!
解决方案
您可以创建一个关键字数组并使用它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")
}
推荐阅读
- python - 如何修复 RuntimeWarning:协程
- ibm-midrange - DSPUSRPRF UPCHGD 字段
- python - 关于根据Flask_restx的API对象声明位置路由函数的问题
- ethereum - 我们有两种方式来启动一个 web3 实例,我们选择哪一种更好呢?
- python - 如何在 Python 3.8 的 dbf 文件中写入/附加列?
- algorithm - 在锦标赛排序算法中排序八个数字的最少比较时间是多少?(考虑坏情况)
- amazon-web-services - 适用于 USER_PASSWORD_AUTH 流的 AWS Cognito 开发工具包
- amazon-web-services - EC2 最便宜的地区
- api - Shopware 6 使用 API 的产品变体图像上传问题
- javascript - 使用 getStaticPaths 和 getStaticProps 在 nextjs 中使用 Airtable 中的表中的数据进行分页