Ребята, я знаю, что я уже просил очень похожи, но я схожу с ума .....Отдельная строка в 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 за то, что послал меня никогда ... – dapo
@dapo приветствую :) – neverwalkaloner
Вы можете использовать ord
найти порядковый номер символа. Если он выше 126, он находится где-то выше 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