簡體   English   中英

如何在python 2.7中拆分此字符串以保留空格?

[英]How do I split this string in python 2.7 keeping spaces?

我正在尋找一種方法來獲取一個字符串,並以每個字符拆分的形式將其輸出為列表?

>>> sentence = 'hello I am cool'
>>> what_i_want(sentence)
['h', 'e', 'l', 'l', 'o', ' ', 'I', ' ', 'a', 'm', ' ', 'c', 'o', 'o', 'l']

但是,這似乎不起作用:

>>> sentence = 'hello I am cool'
>>> sentence = ' '.join(sentence).split()
>>> print sentence
['h', 'e', 'l', 'l', 'o', 'I', 'a', 'm', 'c', 'o', 'o', 'l']

它不會在兩者之間打印空格! 另外,這不起作用:

>>> import re
>>> splitter = re.compile(r'(\s+|\S+)')
>>> sentence = 'hello I am cool'
>>> splitter.findall(sentence)
['hello', ' ', 'I', ' ', 'am', ' ', 'cool']
>>> sentence = ' '.join(sentence)
>>> splitter.findall(sentence)
['h', ' ', 'e', ' ', 'l', ' ', 'l', ' ', 'o', '   ', 'i', '   ', 'a', ' ', 'm', '   ', 'a', ' ', 'j']

誰能告訴我一種有效且相對簡單的方法? 提前致謝!

將字符串傳遞給list ,您將獲得一個單字符字符串列表。

>>> sentence = 'hello I am cool'
>>> list(sentence)
['h', 'e', 'l', 'l', 'o', ' ', 'I', ' ', 'a', 'm', ' ', 'c', 'o', 'o', 'l']

使用list()

>>> list(sentence)
['h', 'e', 'l', 'l', 'o', ' ', 'I', ' ', 'a', 'm', ' ', 'c', 'o', 'o', 'l']

如果要迭代每個字符,也可以在字符串上使用for循環。

for chr in 'hello I am cool':
    print(chr)

它應導致:

h
e
l
l
o

I

a
m

c
o
o
l

暫無
暫無

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

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