尝试使用python从Twitter数据中删除@提及,URL和#符号。 获取
"word john# word".replaceAll("\\bjohn#","fill") // word fill word
来自
lets take action! fitness health
代码:
@BBCNews lets take action! #fitness #health https://www.url.com
但是这会产生“让我们采取行动!”,我很难修复我的正则表达式,但是我想我已经接近了。如何修复我的正则表达式?
答案 0 :(得分:2)
您的模式不正确,因为您还指定了在\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 {sup> rd tweet-processor模块提供了大多数现成的功能,并带有可选的自定义项。
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'