傢伙,我知道我已經問了一個非常相似,但我要瘋了.....獨立字符串在Python
我有一個字符串:
string = '☕ Drink the ❶ best ☕coffee☕'
我期待這樣的:
string = ['☕', 'Drink', 'the', '❶', 'best', '☕', 'coffee', '☕']
傢伙,我知道我已經問了一個非常相似,但我要瘋了.....獨立字符串在Python
我有一個字符串:
string = '☕ Drink the ❶ best ☕coffee☕'
我期待這樣的:
string = ['☕', 'Drink', 'the', '❶', 'best', '☕', 'coffee', '☕']
您可以使用正則表達式:
import re
s = [el for el in re.split('([\W+])', '☕ Drink the ❶ best ☕coffee☕') if el.strip()]
print(s)
輸出:
['☕', 'Drink', 'the', '❶', 'best', '☕', 'coffee', '☕']
親愛的上帝thx發送我neverwalkaloner ....! – dapo
@dapo歡迎您:) – neverwalkaloner
您可以使用ord
找到一個字符的順序。如果它高於126,則在Unicode區域內,它位於ASCII之上。
import itertools
s = '☕ Drink the ❶ best ☕coffee☕'
for k,v in itertools.groupby(s, lambda c: ord(c)<127):
for word in ''.join(v).split():
print(word)
結果:
☕
Drink
the
❶
best
☕
coffee
☕
注:我寫這一個文件,如終端往往具有較差的Unicode處理:
>>> with open(r'theoutput.txt', 'w', encoding='utf-8-sig') as output:
... for k,v in itertools.groupby(s, lambda c: ord(c)<127):
... for word in ''.join(v).split():
... print(word, file=output)
...
>>>
你試圖匹配的字母和其他非'空間「字符? – Tushar
你有沒有嘗試除了期待? – DeepSpace
SO不是免費的編碼服務! – Fallenhero