替换两个数字之间的空格字符

bla*_*mba 4 python string replace

我需要用两个数字之间的逗号替换空格

15.30 396.90 => 15.30,396.90
Run Code Online (Sandbox Code Playgroud)

在PHP中使用它:

'/(?<=\d)\s+(?=\d)/', ','
Run Code Online (Sandbox Code Playgroud)

怎么用Python做?

ale*_*cxe 5

有几种方法可以做到这一点(抱歉,Python的Zen).使用哪一个取决于您的输入:

>>> s = "15.30 396.90"
>>> ",".join(s.split())
'15.30,396.90'
>>> s.replace(" ", ",")
'15.30,396.90'
Run Code Online (Sandbox Code Playgroud)

或者,re例如,使用这种方式:

>>> import re
>>> re.sub("(\d+)\s+(\d+)", r"\1,\2", s)
'15.30,396.90'
Run Code Online (Sandbox Code Playgroud)

  • (Trivia:Python有一些[针对不同`replace`操作的优化](http://svn.python.org/view/python/trunk/Objects/stringobject.c?view=markup#l2347)使它比`拆分/加入`操作.) (2认同)

And*_*ark 5

您可以在Python中使用与re模块相同的正则表达式:

import re
s = '15.30 396.90'
s = re.sub(r'(?<=\d)\s+(?=\d)', ',', s)
Run Code Online (Sandbox Code Playgroud)