NLP:如何搜索带括号的字符串?
Posted
技术标签:
【中文标题】NLP:如何搜索带括号的字符串?【英文标题】:NLP: How do I search for a string that has brackets? 【发布时间】:2020-08-22 02:55:14 【问题描述】:如果 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))]
【问题讨论】:
【参考方案1】:()
之类的括号是正则表达式中的特殊字符,因此您需要在它们之前使用反斜杠 \
,例如:
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)
【讨论】:
以上是关于NLP:如何搜索带括号的字符串?的主要内容,如果未能解决你的问题,请参考以下文章
带 f 字符串的花括号 - ValueError:字符串格式说明符中不允许符号 [重复]