Regex не удаляет сайты из текстовых данных при предварительной обработке - PullRequest
0 голосов
/ 28 февраля 2020

Я делаю предварительную обработку текста, и в моем тексте есть веб-сайты. Я хочу удалить их, но я не смог этого сделать.

Ниже приведен пример текста:

\ n \ nВсемирная сеть (www) \ n \ nНазвание всего документа, связанного гиперссылками в Интернете; часто используется как синоним последнего26. \ n \ n \ n \ n \ n \ n \ n \ n24 \ xe2 \ x80 \ x83 \ t www.sicherheitskultur.at, Глоссарий по информационной безопасности \ n \ n25 \ xe2 \ x80 \ x83 \ t Источник текста (частично): KS \ xc3 \ x96: Матрица киберрисков - Глоссарий \ n \ n26 \ xe2 \ x80 \ x83 \ t www.sicherheitskultur.at, Глоссарий информационной безопасности \ n \ n \ n \ n \ n \ n23 \ n '

Веб-сайты видимы (выделены жирным шрифтом), и я хочу удалить их.

Я пробовал один код ( из ответа StackOverflow - Python код для удаления тегов HTML из строки ), но он не удаляет эти веб-сайты.

Ниже приведены коды:

def remove_web(text):
    cleanr = re.compile('<.*?.*#>')
    text = re.sub(cleanr, '', text)
    return text

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

Ответы [ 2 ]

2 голосов
/ 28 февраля 2020

поэтому, если вы хотите удалить только этот конкретный URL, вы можете использовать это регулярное выражение:

www\.[a-z]+\.at

(Go с решением Дэвида Амара.)

1 голос
/ 28 февраля 2020

www(\.\w+)+

Пояснения: - сначала читается www -, затем хотя бы один такой блок: точка + некоторый текст (буквы, цифры, знаки подчеркивания)

Чтобы соответствовать больше символы в url (например, hypens) заменяют \ w на набор символов, например [a-zA-Z0-9_-], например

...