python - 什么正则表达式将删除@的实例,后跟python中的任何字符(空格除外)?
问题描述
我有以下数据框:
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*
, 之后它还会删除空格(不是严格意义上的问题,但可能是有意的),否则 @提及之前和之后的空格将在输出中最终成为双倍空格。
re.sub(r'@\S+\s*', '', str(tweet))
推荐阅读
- c# - Azure Functions Kubernetes 找不到 local.settings.json
- reactjs - 服务器端 react-apollo wp graphql
- python - 如何在python中的输入周围放置方括号?
- scala - 如何使用 Spark 从 Azurite 读取/写入数据?
- python - Python 包 fsspec 可以读取 SSH 配置吗?
- c# - 如何使用 .Net Core 在单个实例中更改主窗口状态
- docker - 如何使用 Wayland 在 Docker 上运行 GNOME
- python - 如何在 keras 训练时自定义梯度计算?
- android - 通过特殊号码(不是电话号码)从 android 发送短信
- swiftui - 为什么当我在 UIHostingController 中使用 SwiftUI-transition 时,它不能按预期工作?