用逗号替换字母和数字之间的空格?

Lou*_*s93 3 python regex

我希望能够用逗号替换城市和数字之间的空格,但我想出的那条线(及其变体)似乎抹掉了字符串.

>>> temp = re.sub(r"(\w+).*?(\d+)", ",", string)
Run Code Online (Sandbox Code Playgroud)

在哪里string:

Toronto 239495
Cape Town 34567
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

我仍在使用正则表达式,所以任何代码的解释都会非常棒.

Ry-*_*Ry- 6

你正在替换正确的匹配,但只能用逗号!比赛的其他部分也被替换.您可以使用断言,或者只是将它们粘在:

temp = re.sub(r"(\w+).*?(\d+)", r"\1,\2", string)
Run Code Online (Sandbox Code Playgroud)

但是,\w+只会匹配Capein Cape Town.怎么样:

temp = re.sub(r"(.+?)\s*(\d+)", r"\1,\2", string)
Run Code Online (Sandbox Code Playgroud)