2017-02-01 114 views

回答

6

就在空格分開然後再添加它們。

a = 'foo bar hello world' 

splitted = a.split() # split at ' ' 

splitted = [x + ' ' for x in splitted] # add the ' ' at the end 

或者,如果你想讓它有點更看中的:

splitted = ['{} '.format(item) for item in a.split()] 
+0

這是否也適用於多個空格,即插入正確的數量? – usr2564301

+2

這使得它不明確的地方應該拆分字符串。第一,第二,最後?鑑於他沒有具體說明這些信息(我沒有考慮過這個例子),我不認爲這是必要的。 – MSeifert

+0

@RadLexus:不,它不會。通過簡單地使用像這樣的簡單字符串方法來保存任意空格是不可能的。 – ShadowRanger

8

如果你想處理並保留空白的任意運行,你需要一個正則表達式:

>>> import re 
>>> re.findall(r'(?:^|\S+)\s*', ' foo \tbar hello world') 
[' ', 'foo \t', 'bar ', 'hello ', 'world'] 
+0

這很有用,我會記住這個解決方案,但我不需要保留額外的空格。 –