我還在學習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