У меня есть многоязычные строки, состоящие как из языков, в которых в качестве разделителя слов используются пробелы (английский, французский и т. Д.), Так и из языков, на которых их нет (китайский, японский, корейский).
Учитывая такую строку, я хочу разделить английскую / французскую / и т. Д. Часть на слова, используя пробелы в качестве разделителя, и разделить китайскую / японскую / корейскую часть на отдельные символы.
И я хочу собрать все эти отдельные компоненты в список.
Некоторые примеры, вероятно, прояснят это:
Случай 1: строка только на английском языке. Это простой случай:
>>> "I love Python".split()
['I', 'love', 'Python']
Случай 2: строка только на китайском языке:
>>> list(u"我爱蟒蛇")
[u'\u6211', u'\u7231', u'\u87d2', u'\u86c7']
В этом случае я могу превратить строку в список китайских иероглифов. Но в списке я получаю представления юникода:
[u'\u6211', u'\u7231', u'\u87d2', u'\u86c7']
Как мне заставить его отображать фактические символы вместо юникода? Что-то типа:
['我', '爱', '蟒', '蛇']
??
Случай 3: сочетание английского и китайского языков:
Я хочу повернуть строку ввода, например
"我爱Python"
и превращает его в такой список:
['我', '爱', 'Python']
Возможно ли такое сделать?
re
есть ошибка, которая не позволяетre.split()
разбивать совпадения нулевой длины: stackoverflow.com/questions/2713060/ - поэтому вы не можете использовать регулярные выражения в Python для этого напрямую . - person Tim Pietzcker   schedule 27.09.2010