我有以下数据框:
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"]]
我需要用来删除整个用户名而不是@的正则表达式是什么?
这将删除@,后接一个或多个非空白字符。
使用\s*
,它还将在此之后删除空格(不是严格地在问题中,但可能是有意使用的,否则,在@mention之前和之后的空格最终将在输出中成为双倍空格。
re.sub(r'@[^\s]+\s*', '', str(tweet))