Превратить строку в список и удалить возврат каретки (Python) - PullRequest
0 голосов
/ 23 июня 2018

У меня есть строка, подобная этой:

['过\r\n啤酒\r\n小心\r\n照顾\r\n锻炼\r\n过去\r\n忘记\r\n哭\r\n包\r\n个子\r\n瘦\r\n选择\r\n奶奶\r\n突然\r\n节目\r\n']

Как мне удалить все "\ r \ n", а затем превратить строку в список примерно так:

[过, 啤酒, 小心, 照顾, 过去, etc...]

Ответы [ 3 ]

0 голосов
/ 23 июня 2018

Чтобы ограничить разделение \r\n, вы можете использовать .splitlines():

>>> li=['过\r\n啤酒\r\n小心\r\n照顾\r\n锻炼\r\n过去\r\n忘记\r\n哭\r\n包\r\n个子\r\n瘦\r\n选择\r\n奶奶\r\n突然\r\n节目\r\n']
>>> li[0].splitlines()
['过', '啤酒', '小心', '照顾', '锻炼', '过去', '忘记', '哭', '包', '个子', '瘦', '选择', '奶奶', '突然', '节目']
0 голосов
/ 24 июня 2018

Попробуйте это:

s = "['过\r\n啤酒\r\n小心\r\n照顾\r\n锻炼\r\n过去\r\n忘记\r\n哭\r\n包\r\n个子\r\n瘦\r\n选择\r\n奶奶\r\n突然\r\n节目\r\n']"
s = s.replace('\r\n', ',').replace("'", '')
print(s)

Выход:

[过,啤酒,小心,照顾,锻炼,过去,忘记,哭,包,个子,瘦,选择,奶奶,突然,节目,]

Этот первый replace заменяет \r\n, а второй заменяет одинарную кавычку из строки, как вы и ожидали в качестве вывода.

0 голосов
/ 23 июня 2018

str.split удаляет все пробелы; это включает \r и \n:

A = ['过\r\n啤酒\r\n小心\r\n照顾\r\n锻炼\r\n过去\r\n忘记\r\n哭\r\n包\r\n个子\r\n瘦\r\n选择\r\n奶奶\r\n突然\r\n节目\r\n']

res = A[0].split()

print(res)

['过', '啤酒', '小心', '照顾', '锻炼', '过去', '忘记', '哭', '包', '个子', '瘦', '选择', '奶奶', '突然', '节目']

Как описано в документах str.split :

Если sep не указан или равен None, другое разбиение применяется алгоритм: прогоны последовательных пробелов рассматриваются как один разделитель, и результат не будет содержать пустых строк в начало или конец, если строка имеет начальный или конечный пробел.

...