如何在R语言中提取package:与首个数字之间的字符串?
解决方案
你之前的正则表达式因贪婪匹配导致逻辑偏差,使用base包的gsub即可实现需求:
单个元素测试
b <- "{.package:base71" gsub(".*package:([^0-9]+)", "\\1", b) # 输出:"base"
处理整个向量
a <- c("{.package:base73","for.package:base476",":.package:base9","print.package:graphics834") result <- gsub(".*package:([^0-9]+)", "\\1", a) result # 输出:c("base", "base", "base", "graphics")
正则逻辑说明
.*package::匹配任意字符直到定位到package:(贪婪匹配确保找到目标标识)([^0-9]+):捕获package:之后第一个数字之前的所有非数字字符,即需要提取的内容- 替换为
\\1,保留捕获到的目标字符串
内容的提问来源于stack exchange,提问作者user23310528
相关产品推荐
相关产品推荐

