Skip to main content
 首页 » 编程设计

Python之你如何添加\和|到 str.contains()

2025年05月04日20lexus

我正在清理 pandas 数据框中的一列,以清除包含某些字符的垃圾用户名。这是示例:

d = {'username': ["11111", "222!22", "21212!", "85511$", "8552$", "115522@@"]} 
df = pd.DataFrame(data=d) 
 
    username 
0   11111 
1   222!22 
2   21212! 
3   85511$ 
4   8552$ 
5   115522@@ 
.... 

我正在使用以下内容并且它按预期工作:

df[~df['username'].str.contains('~|`|!|@|#|\$|%|\^|&|\*|\(|\)|-|_|\+|=|{|\[|}|]|:|;|"|\'|<|,|>|\.|/|\?')] 

但是我想再添加两个字符:

\ 和 |

当我尝试为 \ 添加 \\ 和为 | 添加 \| 但我收到错误。我该怎么办?

请您参考如下方法:

尝试在字符串前面添加一个 r 以便 Python 将您的字符串解释为原始字符串:

df[~df['username'].str.contains(r'~|`|!|@|#|\$|%|\^|&|\*|\(|\)|-|_|\+|=|{|\[|}|]|:|;|"|\'|<|,|>|\.|/|\?')]