Удалите @mentions, urls и # символы, используя python - PullRequest
1 голос
/ 19 июня 2019

Попытка удалить @mentions, urls и # символы из данных твиттера с помощью python. Чтобы получить

lets take action! fitness health 

от

@BBCNews lets take action! #fitness #health https://www.url.com

Код:

import re
df1 = re.sub(r'(?:\@|https?\://|#)\S+', '', df)

Но это приводит к "давайте действовать!", Мне трудно исправить свое регулярное выражение, но я думаю, что я близок. Как я могу исправить свое регулярное выражение?

1 Ответ

2 голосов
/ 19 июня 2019

Ваш шаблон неверен, потому что вы указываете удаление символов \S+ после символов #. Вместо этого измените ваш шаблон на

>>> re.sub(r'(@|https?)\S+|#', '', text)
' lets take action! fitness health '

Распределение регулярных выражений

(@       # match '@'
 |       # OR
 https?  # "http" or "https", followed by...
)
\S+      # one or more characters that aren't whitespace
|        # OR
#        # hashtag

В качестве бонуса модуль 3 rd party твит-процессор предоставляет большую часть этой функциональности "из коробки" с дополнительными настройками.

import preprocessor as p

p.clean(text)
# 'lets take action!'

# customise what you want removed
p.set_options(p.OPT.MENTION, p.OPT.URL,)
p.clean(text)
# 'lets take action! #fitness #health'

p.clean(text).replace('#', '')
# 'lets take action! fitness health'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...