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

标签 python string pandas nlp contains

如果 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)

关于python - NLP:如何搜索带有括号的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61647158/

相关文章:

java - Java 的字符串数组

python - 使用 Lambda 函数在 S3 中创建并上传文件

python - 1005x132589 像素的图像尺寸过大。每个方向必须小于 2^16

c# - 如何在字符串中包含引号

python - .loc() 的轴参数以解释轴上传递的切片器 = 1

python - 如何统计一个时间段的连续出现次数? - Pandas 蟒

python - 查找数据帧列中重复值的索引

python - Numpy 按元素之间的差异范围分组

python - python如何限制输入的字符类型

java - 如何比较字符串以获取缺失的单词?