假设:
var countries = ["Afghanistan", "United Kingdom", "Albania", "United Arab Emirates"];
var regex = new RegExp(countries.join("|"), "i");
$wikiDOM.find(".infobox td div li a").each(function(){
var newtext = $(this).text();
//console.log(newtext);
console.log(newtext.match(regex));
});
如果我这样做:
console.log(newtext);
我明白了:
White
Asian
Black
Mixed
Arab
1]
United Kingdom
England and Wales
^
Legislative Grand Committee
所以我们确实匹配United Kingdom
但是当我运行console.log(newtext.match(regex));
时,控制台会给我null null null...
我正在寻找一个字符串与数组中字符串的匹配,如果匹配,则在控制台中输出匹配。在这种情况下,它将是United Kingdom
这是jsFiddle
答案 0 :(得分:0)
我通过.each()
获得的列表确实给了我在数组中的英国,但html是United Kingdom
因此我做了:
$wikiDOM.find(".infobox td div li a").each(function(){
var newtext = $(this).html();
var newtextStriped = newtext.replace(/ /g,' ');
if( $.inArray(newtextStriped, countries) != -1){
console.log(newtextStriped);
}
});