很简单的问题,但我似乎搞不明白。
以下代码:
import re
addr = '800 W NORTH AVE'
re.sub(r'([a-zA-Z]+)', 'W North A', addr)因此,我得到了800 W北,A W北,A W北A,而不是800 W北A
我不明白我做错了什么。会很感激你的帮助。
谢谢
发布于 2016-12-10 20:34:47
您不匹配空格字符。这使得每个单词都被替换字符串替换。相反,你需要这样的东西:
re.sub(r'(([a-zA-Z]+\?)+)', 'W North A', addr)这匹配一个或多个单词后面的一个或多个空格。
发布于 2016-12-11 01:04:06
正如user92454所说,您希望使用一个空格字符,即Python中的\s。
如果您知道要替换的文本总是大写的,则可以使用模式\s([A-Z\s]+)。如果没有,可以使用\s([A-z\s]+) (小写为'z')。
https://stackoverflow.com/questions/41080023
复制相似问题