什么正则表达式将删除@的实例,后跟python中的任何字符(空格除外)?

问题描述 投票:0回答:1

我有以下数据框:

corpus = pd.DataFrame({"tweet":["@blah Check tihs out @hay! This bear loves jumping on this plant!", 
          "I can't bear the noise from that power plant. It makes me jump."]})

...并且我想删除用户提及的内容,即“ @blah”和“ @hay”

我尝试了以下正则表达式,但这只是删除了“ @”:

corpus["tweet"] = [re.sub(r'^@.*\s+$',' ', str(tweet)) for tweet in corpus["tweet"]]

我需要用来删除整个用户名而不是@的正则表达式是什么?

python regex twitter
1个回答
1
投票

这将删除@,后接一个或多个非空白字符。

使用\s*,它还将在此之后删除空格(不是严格地在问题中,但可能是有意使用的,否则,在@mention之前和之后的空格最终将在输出中成为双倍空格。

re.sub(r'@[^\s]+\s*', '', str(tweet))
© www.soinside.com 2019 - 2024. All rights reserved.