所以即时尝试使用正则表达式将所有特殊字符替换为空格: 我的代码有效,但它不会取代下划线,我该怎么办?
代码:
new_str = re.sub(r'[^\w]', ' ', new_str)
它处理所有其他特殊字符但不是下划线。
答案 0 :(得分:3)
下划线被认为是PCRE正则表达式中的“单词字符”。如果你想匹配的是“任何不是单词字符或下划线”的东西,试试这个:
new_str = re.sub(r'[\W_]', ' ', new_str)
答案 1 :(得分:0)
下划线是\w
字符组的一部分。请改用:
new_str = re.sub(r'[^a-zA-Z0-9]', ' ', new_str)
与\w
相同,但减去下划线。
答案 2 :(得分:0)
new_str = re.sub(r'[^\w]|_', ' ', new_str)
答案 3 :(得分:0)
我明白了,把它改成了:
new_str = re.sub(r'[\w_+]', ' ', new_str)