Как я могу вырезать и сохранить текст в списке каждого конкретного символа? - PullRequest
0 голосов
/ 18 октября 2019

Я использовал Beautifulsoup и получил форму результата .get_text (). Результат содержит длинный текст:

alpha = ['\n\n\n\nIntroduction!!\nGood\xa0morning.\n\n\n\nHow\xa0are\xa0you?\n\n']

Можно заметить, что число \ n не совпадает, и для интервалов есть \ xa0 .

Я хочу разделить каждую группу на \ n ( \ n \ n или \ n \ n \ n или \ n \ n \ n \ n ) и замените \ xa0 пробелом в новом списке, чтобы он выглядел следующим образом:

beta = ['Introduction!!','Good morning.','How are you?']

Как я могу это сделать?

Заранее спасибо.

1 Ответ

1 голос
/ 18 октября 2019

Я написал небольшой скрипт, который решает вашу проблему:

alpha = ['\n\n\n\nIntroduction!!\nGood\xa0morning.\n\n\n\nHow\xa0are\xa0you?\n\n']
beta = []
for s in alpha:
    # Turning the \xa0 into spaces
    s = s.replace('\xa0',' ')
    # Breaking the string by \n
    s = s.split('\n')
    # Explanation 1
    s = list(filter(lambda s: s!= '',s))
    # Explanation 2
    beta = beta + s
print(beta)

Объяснение 1

Поскольку в строке alpha есть несколько последовательностей \n, split()сгенерирует несколько пустых строк. filter(), который я написал, удаляет их из списка.

Пояснение 2

Когда строка s разбита, она превращается в список строк. Затем нам нужно объединить списки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...