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

5
我需要将两个数字之间的空格替换为逗号。
15.30 396.90 => 15.30,396.90

在PHP中,使用以下代码:

'/(?<=\d)\s+(?=\d)/', ','

如何在Python中实现?


php 中,我会使用 strtr 函数。 :P - kojiro
2个回答

8

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

>>> s = "15.30 396.90"
>>> ",".join(s.split())
'15.30,396.90'
>>> s.replace(" ", ",")
'15.30,396.90'

或者,使用 re,例如这样:
>>> import re
>>> re.sub("(\d+)\s+(\d+)", r"\1,\2", s)
'15.30,396.90'

1
第一种方法将替换所有空格为逗号,不仅仅是在数字之间。 - Andrew Clark
@F.J 我明白,原帖没有提供任何有关输入的附加信息。谢谢。 - alecxe
2
趣闻:Python 对不同的 replace 操作进行了一些优化,使其比 split/join 操作更快。 - kojiro

6
你可以在Python中使用re模块使用相同的正则表达式:
import re
s = '15.30 396.90'
s = re.sub(r'(?<=\d)\s+(?=\d)', ',', s)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接