【发布时间】:2017-12-18 07:32:57
【问题描述】:
正则表达式是r'[A-z\d,\-.\ \/\n]{1,}',这个正则表达式将允许字母数字+一些特殊字符。
我想替换不允许的字符。
我试过了,
re.sub(r'[A-z\d,\-.\ \/\n]{1,}', ' ', 'ASGHB 3 JHDSD eyg && ^&*hdbcd v%^&*B#$%^')
输出为,
' && &* % &* #$% '
我希望将原始字符串作为输出,并用空格替换特殊字符(不允许使用)。
预期输出:ASGHB 3 JHDSD eyg ^ hdbcd v ^ B ^
如何做到这一点?
【问题讨论】:
-
re.sub(r'[^A-z\d,\-.\ \/\n]{1,}', ' ', 'ASGHB 3 JHDSD eyg && ^&*hdbcd v%^&*B#$%^')=>'ASGHB 3 JHDSD eyg ^ hdbcd v ^ B ^'?你应该给出你预期的结果。 -
也不要使用
[A-z],除非您知道它的实际作用。 -
@Silencer 谢谢。
-
@AvinashRaj 我应该单独使用它吗?我虽然 [A-Za-z] 和 [A-z] 是一样的,如果我错了,请纠正我。
-
你应该单独使用它。两者都不相同。查看 A-z 范围内的其他字符是什么 asciitable.com
标签: python regex python-2.7