【问题标题】:Replace space character between two numbers替换两个数字之间的空格字符
【发布时间】:2014-03-31 16:41:01
【问题描述】:

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

15.30 396.90 => 15.30,396.90

在 PHP 中使用:

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

如何在 Python 中做到这一点?

【问题讨论】:

  • php 中我会使用strtr。 :P

标签: python string replace


【解决方案1】:

有几种方法可以做到这一点(对不起,Zen of 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'

【讨论】:

  • 第一种方法将用逗号替换所有空格,而不仅仅是数字之间。
  • @F.J 我明白,OP 没有提供任何关于输入内容的额外信息。谢谢。
  • (琐事:Python 有一些 optimizations for different replace operations 使其比 split/join 操作更快。)
【解决方案2】:

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

import re
s = '15.30 396.90'
s = re.sub(r'(?<=\d)\s+(?=\d)', ',', s)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-27
    • 2014-10-26
    • 1970-01-01
    • 2012-07-31
    • 1970-01-01
    • 2016-03-06
    • 2018-03-17
    • 2020-12-08
    相关资源
    最近更新 更多