Dee*_*pak 5 python regex python-3.x
问题陈述: 如果发现有字母的特殊字符,则将其替换为一个空格。并且,如果发现它带有数字,则只需忽略即可。
实际场景:
$454.5 inchesTask.This is good.Hello, How $are you. This is good.预期场景:
$454.5 inchesTask This is goodHello How are you This is good我尝试编写一个正则表达式来找出遵循此模式的文本,但不确定如何用空格替换该文本中的特殊字符。
对于例如在上述的图像,期望的输出将是'ddddd dfhghg','222 d'等
这种情况可以通过 re.sub(pattern, replacement, input) 处理吗?如果是,请告诉如何:)
您可以使用带有否定环视的字符集:
(?<!\d)([.,$])(?!\d)
Run Code Online (Sandbox Code Playgroud)
将所有应替换的字符放在括号内:[.,$]
解释:
(?<!\d)负向后查找 - 确保匹配字符之前没有数字(?!\d)负向先行 - 确保匹配字符后面没有数字[...]包含您要替换的所有特殊字符的字符集