如何匹配 .each 中的字符串?



给定:

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

我通过.each()获得的列表确实给了我我们在数组中的英国,但 htmlUnited 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);
}
});

最新更新