Python 字符串是否包含我列表中的任何单词?

Python 字符串是否包含我列表中的任何单词?,python,string,list,search,Python,String,List,Search,我想检查一个字符串,看看它是否包含我列表中的任何单词。 这个列表大约有100个单词 我已经尝试使用正则表达式,但无法使其工作 string = "<div class="header_links"><a href="/Restaurants-g189541-Copenhagen_Zealand.html?pid=6">$$ - $$$</a>, Dansk, <a href="/Restaurants-g189541-zfz10697-Copenhage

我想检查一个字符串,看看它是否包含我列表中的任何单词。 这个列表大约有100个单词

我已经尝试使用正则表达式,但无法使其工作

string = "<div class="header_links"><a href="/Restaurants-g189541-Copenhagen_Zealand.html?pid=6">$$ - $$$</a>, Dansk, <a href="/Restaurants-g189541-zfz10697-Copenhagen_Zealand.html">Veganske retter</a>, <a href="/Restaurants-g189541-zfz10992-Copenhagen_Zealand.html">Glutenfri retter</a></div>"

list = ['Café','Afrikansk','............','Sushi','Svensk','Sydamerikansk','Syditaliensk','Szechuan','Taiwansk','Thai','Tibetansk','Østeuropæisk','Dansk']
在本例中,字符串中有“Dansk”。字符串可以包含列表中的多个单词

我想写一段代码,打印列表中的单词,也就是字符串中的单词

在这种情况下,输出应为:Dansk 如果字符串中有多个单词,则应为:Dansk


我希望有人能帮助

使用列表理解和成员资格检查:

[x for x in lst if x in string]
请注意,我已将您的列表重命名为lst,因为该列表是内置的

例如:


在您的情况下,您可以使用:

string_intersection = set(string.replace(',', '').split()).intersection(my_list)

print(*string_intersection, sep =',')
输出:

Dansk

我建议不要使用list作为变量名,因为它通常指的是str或int之类的类型列表

您的字符串变量似乎已被文本中的倍数切碎。如果字符串中有x。
Dansk
>>> list = ['Café','Afrikansk','............','Sushi','Svensk','Sydamerikansk','Syditaliensk','Szechuan','Taiwansk','Thai','Tibetansk','Østeuropæisk','Dansk']
>>> string = """<div class="header_links"><a href="/Restaurants-g189541-Copenhagen_Zealand.html?pid=6">$$ - $$$</a>, Dansk, <a href="/Restaurants-g189541-zfz10697-Copenhagen_Zealand.html">Veganske retter</a>, <a href="/Restaurants-g189541-zfz10992-Copenhagen_Zealand.html">Glutenfri retter</a></div>"""
>>> [x for x in list if x in string]
['Dansk']