假设我有一个由我使用 twitteR 收集的推文组成的数据框。我想提取一个子字符串,它是每条推文中包含的另一个数据集的唯一 ID。所有 ID 均采用相同的形式,由 3-4 个大写字母组成,后跟一个连字符,最后是 6 位数字。示例为:YLD-000123、YLSL-000323、YLP-000135。我只需要 ID,并且可以在每条推文上删除其他所有内容。
以下是我正在使用的推文的两个示例:
st1="Elijo ENTERTIMER, YLC-000354, como ganador para http://t.co/jclDk8d796 #YoungLionsCo #FantasyLions"
st2="Elijo #AEseTrenNoMeLeSubo, YLSL-000169, como ganador para http://t.co/wPpM7X5ecN #YoungLionsCo #FantasyLions"
tweets=c(st1,st2)
我需要的结果是“YLC-000354”“YLSL-000169”。 ID 并不总是位于逗号之间。
最佳答案
使用gsub
的方法:
gsub('.*[^[:alpha:]]([[:alpha:]]+-\\d+).*','\\1',tweets)
#[1] "YLC-000354" "YLSL-000169"
关于r - 使用R从字符串中提取特定格式的子字符串(ID、代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30172398/