使用str.contains()在加号(+)之后找不到字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用str.contains()在加号(+)之后找不到字符串相关的知识,希望对你有一定的参考价值。

我正在编写代码以处理其中一列具有诸如“ 102334 + 2N”或“ 102334 + 2G”或“ 102334 + 3”之类的字符串的数据框。当使用str.contains()时,在加号(+)之后什么也找不到。

这很好用:

df.loc[df['SKU'].str.contains(r"102334", case=False), ["SKU", "DESCRIPTION"]

这将找到所有带有“ 102334”以及任何附加字符串的字符

df.loc[df['SKU'].str.contains(r"102334+", case=False), ["SKU", "DESCRIPTION"]

这什么也没找到:

df.loc[df['SKU'].str.contains(r"102334+2", case=False), ["SKU", "DESCRIPTION"]

我很感谢任何能帮助我了解如何解决问题的答案。

答案

df.loc[df['SKU'].str.contains(r"102334", case=False), ["SKU", "DESCRIPTION"]]

在您的代码中,表达式的末尾是否有最后一个括号?

以上是关于使用str.contains()在加号(+)之后找不到字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何在 pandas str.contains 中使用 \b 单词边界?

使用 str.contains 忽略 NaN

在熊猫数据框上使用 str.contains [重复]

在 Pandas str.contains() 的正则表达式中使用变量

Python 文本处理(str.contains)

识别包含单词的句子,并使用 str.contains 在列中显示该单词