我有一个类似于Check The Data frame Here
的数据框我在从cs.uri.query列中提取ID值并将该特定值存储在同一数据框中的另一列时遇到问题。 我尝试了很多像regex grep这样的方法,但仍然无法解决。 基本上我想得到的结果是: Result
需要帮助解决这个问题。谢谢提前。
答案 0 :(得分:0)
您可以使用str_match
库的stringr
功能:
library(stringr)
df$UserId <- str_match(df$cs.uri.query, "ID=([0-9]+)")[,2]
这将搜索ID=<some number>
的任何匹配并返回第一个括号内的匹配,即数字。
答案 1 :(得分:0)
在基地R中使用gsub
df$UserID <- gsub(".*ID=([0-9]+).*","\\1",df$cs.uri.query)
这会捕获(()
)ID=
之后的数字字符串,并用第一个字符串替换整个字符串(因此任意一侧的.*
(意味着任何字符)并且仅)捕获了组\\1
。
我无法对您的数据进行测试,但它应该有效。