我还在学习JavaScript,但我似乎无法找到一种方法来查看一个字符串是否包含子字符串。如何检查一个字符串是否包含JavaScript中的字符串数组的字符串
基本上我有一些人的标题,我想看看标题是否包含标题中的“总统”或“高级”字符串,这是迄今为止,但似乎没有工作。
var title = "President of Sales";
var arrayOfTitles = ["President","Chief","VP","SVP","Director","Manager","Mrg","Sr","Senior","Executive Assistant","Principle Architect","GM","Technical Advisor"];
var re = new RegExp(arrayOfTitles.join("|"),"i");
for(i = 0; i < arrayOfTitles.length; i++){
if (re.test(gr.title)){
return;
}
}
但是,此代码不适用于字符串喜欢“Jr VP”或“销售总裁”。有没有办法构建这些字符串的正则表达式数组?
任何帮助将是巨大的感谢
您正在寻找精确的匹配,所以不使用正则表达式,使用['indexOf'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects /字符串/的indexOf)。如果您想要区分大小写的搜索,请在字符串和关键字上应用toLowerCase。而且,除非上述内容在函数上下文中,否则“返回”没有多大意义。如果您对整个测试的积极或消极结果感兴趣,请使用'break'离开循环,并预先设置一个标志。 – CBroe
使用'arrayOfTitles'构建的单个正则表达式应该可以工作,但是如果你这样做了,则不需要遍历相同的数组。尝试'重新测试(标题)'*没有*循环 - 这对我来说工作得很好。 – nnnnnn
我正在寻找一些能够匹配这些关键字的东西 – agarc