在Python 3.x中後,我將如何劃分這樣的字符串:分割字符串只是空間
foo bar hello world
所以輸出將是一個清單,如:
['foo ', 'bar ', 'hello ', 'world ']
在Python 3.x中後,我將如何劃分這樣的字符串:分割字符串只是空間
foo bar hello world
所以輸出將是一個清單,如:
['foo ', 'bar ', 'hello ', 'world ']
就在空格分開然後再添加它們。
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()]
如果你想處理並保留空白的任意運行,你需要一個正則表達式:
>>> import re
>>> re.findall(r'(?:^|\S+)\s*', ' foo \tbar hello world')
[' ', 'foo \t', 'bar ', 'hello ', 'world']
這很有用,我會記住這個解決方案,但我不需要保留額外的空格。 –
這是否也適用於多個空格,即插入正確的數量? – usr2564301
這使得它不明確的地方應該拆分字符串。第一,第二,最後?鑑於他沒有具體說明這些信息(我沒有考慮過這個例子),我不認爲這是必要的。 – MSeifert
@RadLexus:不,它不會。通過簡單地使用像這樣的簡單字符串方法來保存任意空格是不可能的。 – ShadowRanger