簡體   English   中英

re.sub用逗號替換空格

[英]re.sub replace spaces with comma

我有一個項目列表,如下所示:

 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的正則表達式來實現它? 謝謝。

要刪除前導和尾隨空格,可以使用.strip() ,然后使用正則表達式\\s+替換連續的空白字符:

>>> import re
>>> s = " 2.4       -2.0           4.3"
>>> re.sub("\s+", ",", s.strip())
'2.4,-2.0,4.3'

有很多解決方案......這甚至沒有簡要介紹整個主題,但它有效:

快速解決方案

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,!,'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM