Как заменить два или более подчеркивания, используя python? - PullRequest
1 голос
/ 22 апреля 2020

Для машинного обучения я должен «очистить» некоторый текст, который я извлекаю, поэтому я попробовал это:

texto = "sdf sdf s _ sfsf sdfs _________ sfsdf"
texto = texto.replace(r"_{2,}"," ")
print(texto)

Но результат не был ожидаемым:

sdf sdf s _ sfsf sdfs _________ sfsdf

Хотелось бы:

sdf sdf s _ sfsf sdfs  sfsdf

Ответы [ 2 ]

3 голосов
/ 22 апреля 2020

Вы можете использовать

import re
texto = "sdf sdf s _ sfsf sdfs _________ sfsdf"
rx = re.compile(r'_{2,}')

texto = rx.sub('', texto)

Что дает

sdf sdf s _ sfsf sdfs  sfsdf

Если вы также хотите заменить конечные пробелы, измените выражение на

rx = re.compile(r'_{2,}\s*')

Тогда результат будет

sdf sdf s _ sfsf sdfs sfsdf
#                   ^^^
0 голосов
/ 22 апреля 2020

Я бы просто попытался удалить 3 последовательных подчеркивания, как это:

texto = texto.replace(r"___","")

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