我有一个看起来像这样的项目列表:
2.4 -2.0 4.3
-6.0 12.5 1.0
我想要删除所有这些空格并用","替换它们。 (逗号)除了第一个数字前面的空格(它们应该被删除(空格)而不是被任何东西替换)。因此,替换后,上面的字符串项应该如此:
2.4,-2.0,4.3
-6.0,12.5,1.0
不喜欢这样:
,2.4,-2.0,4.3
,-6.0,12.5,1.0
以下代码的作用如下:
newStrings = []
for s in strings:
newStrings.append(re.sub('\s+', ',', s))
应该使用re.sub的正则表达式来实现它? 谢谢。
答案 0 :(得分:13)
要删除前导空格和尾随空格,可以使用.strip()
,然后使用正则表达式\s+
替换连续的空白字符:
>>> import re
>>> s = " 2.4 -2.0 4.3"
>>> re.sub("\s+", ",", s.strip())
'2.4,-2.0,4.3'
答案 1 :(得分:0)
有很多解决方案......这甚至没有简要介绍整个主题,但它有效:
快速解决方案:
In [1]: import re
...: d_in = "strip \t\r\n\x00er \ter\rMY\ nr\x00 \t\r\nSPAC ES\x00 ! "
...: d_out = re.sub("\s+", r",", d_in)
...: d_out
...:
Out[1]: 'strip,\x00er,er,MY\\,nr\x00,SPAC,ES\x00,!,'