Python: есть ли способ выполнить этот «гибридный» split () для многоязычных (например, китайских и английских) строк?

У меня есть многоязычные строки, состоящие из языков, которые используют пробел в качестве разделителя слов (английский, французский и т. Д.), И языков, которые не используют (китайский, японский, корейский).

Учитывая такую ​​строку, я хочу разделить часть на английском / французском / etc на слова, используя пробел в качестве разделителя, и разделить часть на китайском / японском / корейском языке на отдельные символы.

И я хочу поместить все эти отдельные компоненты в список.

Некоторые примеры, вероятно, прояснили бы это:

Случай 1: Только английская строка Этот случай прост:

>>> "I love Python".split()
['I', 'love', 'Python']

Дело 2: Только китайская строка:

>>> list(u"我爱蟒蛇")
[u'\u6211', u'\u7231', u'\u87d2', u'\u86c7']

В этом случае я могу превратить строку в список китайских символов. Но в списке я получаю Unicode-представления:

[u'\u6211', u'\u7231', u'\u87d2', u'\u86c7']

Как мне заставить его отображать реальные символы вместо юникода? Что-то вроде:

['我', '爱', '蟒', '蛇']

??

Дело 3: Смесь английского и китайского:

Я хочу превратить входную строку, такую ​​как

"我爱Python"

и превращает его в список вроде этого:

['我', '爱', 'Python']

Можно ли сделать что-то подобное?

Ответы на вопрос(5)

Ваш ответ на вопрос