NLP:如何搜索带括号的字符串?

NLP: How do I search for a string that has brackets?

如果 col1 包含列表中的任何子字符串,我正在尝试过滤数据框。问题是一个子字符串包含导致错误的括号(图中以粗体显示)。任何解决方案?谢谢!

index   fruit_name
0       "apple"
1       "pear"
2       "passionfruit (Passiflora)"
4       "grape"

substring_list = ['apple',**'(passiflora)'**]
df[df.fruit_name.str.contains('|'.join(substring_list))]

() 这样的方括号是正则表达式中的特殊字符,所以你需要在它们前面使用反斜杠 \ 比如:

df = pd.DataFrame({'fruit_name': ["apple","pear","passionfruit (Passiflora)", "grape"]})

substring_list = ['apple','\(passiflora\)']
print (df[df.fruit_name.str.contains('|'.join(substring_list), case=False)]) 
                  fruit_name
0                      apple
2  passionfruit (Passiflora)