我有一个矢量:

a <- c("{.package:base73","for.package:base476",":.package:base9","print.package:graphics834")

我需要提取Package:和第一个数字之间的字符串.

因此,输出应为: c("base", "base", "base", "graphics")

我试过了,但它并不像我希望的那样工作:

b <- "{.package:base71"
gsub(".*package:(.+)[1-9]+", "\\1", b)

编辑:我只想使用base个套餐*

推荐答案

只需对OP的代码进行最小程度的更改,

gsub(".*package:|[1-9]+", "\\1", a)

#[1] "base"     "base"     "base"     "graphics"

R相关问答推荐

使用gggplot 2在R中重新调整面板和y轴文本大小

混淆矩阵,其中每列和等于1

使用sensemakr和fixest feols模型(R)

任意列的欧几里得距离

手动打印线型gplot

修改用R编写的用户定义函数

当我们有多个特殊字符时,使用gsub删除名称和代码'

R函数,用于生成伪随机二进制序列,其中同一数字在一行中不出现超过两次

如何将网站图像添加到带有极坐标的面包裹条形图?

为什么在BASE R中绘制线条时会看到线上的点?

在数据帧列表上绘制GGPUP

R -使用矩阵reshape 列表

如何从向量构造一系列双边公式

按列中显示的配对组估算NA值

仅当后续值与特定值匹配时,才在列中回填Nas

用多边形替换地块点

在一个multiplot中以非对称的方式在R中绘制多个图

在子图内和子图之间对齐行数不均匀的表格罗布对

如何在类应用函数中访问函数本身

向数据添加标签