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

如何在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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 13:13:12