python - Python - 你如何添加 \ 和 | 到 str.contains()
问题描述
我正在清理熊猫数据框中的一列,以摆脱包含某些字符的垃圾用户名。这是示例:
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('~|`|!|@|#|\$|%|\^|&|\*|\(|\)|-|_|\+|=|{|\[|}|]|:|;|"|\'|<|,|>|\.|/|\?')]
但我想再添加两个字符:
\
和|
当我尝试添加这些\\
for\
和\|
for|
但我收到错误。我该怎么办?
解决方案
尝试r
在字符串前面添加 a ,以便 Python 将您的字符串解释为原始字符串:
df[~df['username'].str.contains(r'~|`|!|@|#|\$|%|\^|&|\*|\(|\)|-|_|\+|=|{|\[|}|]|:|;|"|\'|<|,|>|\.|/|\?')]
推荐阅读
- python - 在列表之间切换(转换矩阵)
- c# - Is System.Security.Cryptography.RNGCryptoServiceProvider FIPS 140-2 complaint?
- c# - Linq 查询和集合修改
- microsoft-graph-api - o365 图形 api 创建参考附件
- javascript - Openlayers 4 在地图上触发选择功能
- javascript - 在 Vue.js 应用程序中在哪里调用 axios.interceptors.request.use?
- java - How to pass command line args (String array type) to a servlet init method at runtime
- javascript - Creating charts dynamically using ChartJS and AngularJS
- node.js - 猫鼬和打字稿。在参考中使用它
- php - PHP IMAP 连接问题