You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从推特文本中提取转推目标用户并过滤无关提及?

提取推特转推中的原作者ID

示例数据

现有推特文本向量如下:

tweet_vector <- c("RT @person: tweet tweet tweet",
                  "RT @otherperson: tweet tweet",
                  "Tweet, this isn't a retweet, @3rdperson.",
                  "RT @4thperson: this retweet also has a mention, @mentioned")

需求

需要编写函数,从上述向量中提取转推的原作者ID,非转推内容返回NA,最终输出结果如下:

[1] "person"      "otherperson" NA            "4thperson"  

直接使用str_extract("@*", tweet_vector)无法满足需求,因为会捕获非转推场景下的无关@提及(如@3rdperson)。

解决方案

利用stringr包的正则匹配功能,通过正向预查定位转推开头的RT @标识,再提取到冒号前的用户名:

  1. 先加载stringr包:
library(stringr)
  1. 定义提取函数:
extract_retweet_author <- function(tweets) {
  # 匹配RT @之后、冒号之前的所有非冒号字符
  str_extract(tweets, "(?<=RT @)[^:]+")
}
  1. 测试函数:
extract_retweet_author(tweet_vector)

正则说明

  • (?<=RT @):正向预查,确保目标字符前是RT @,仅匹配转推场景下的用户名
  • [^:]+:匹配任意非冒号的字符,直到遇到冒号为止,精准截取原作者ID

内容的提问来源于stack exchange,提问作者Kyle_Rose

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 22:30:53