re.sub用逗号替换空格

mar*_*rco 9 python regex string replace

我有一个项目列表,如下所示:

 2.4       -2.0           4.3
-6.0       12.5           1.0
Run Code Online (Sandbox Code Playgroud)

我想要删除所有这些空格并用","(逗号)替换它们,除了第一个数字前面的空格(它们应该被删除(空格)而不是用任何东西替换).所以上面的字符串项应该如此,更换后:

2.4,-2.0,4.3
-6.0,12.5,1.0
Run Code Online (Sandbox Code Playgroud)

不是这样的:

,2.4,-2.0,4.3
,-6.0,12.5,1.0
Run Code Online (Sandbox Code Playgroud)

以下代码的作用如下:

newStrings = []
for s in strings:
    newStrings.append(re.sub('\s+', ',', s))
Run Code Online (Sandbox Code Playgroud)

应该使用re.sub的正则表达式来实现它?谢谢.

Dan*_*bbs 15

要删除可以使用的前导和尾随空格.strip(),然后使用正则表达式替换连续的空白字符\s+:

>>> import re
>>> s = " 2.4       -2.0           4.3"
>>> re.sub("\s+", ",", s.strip())
'2.4,-2.0,4.3'
Run Code Online (Sandbox Code Playgroud)

  • 那个也查过了。有时我有一种感觉,那些不想让别人学习Python的人,会写出这样的文档。不过还是谢谢你。 (2认同)