【发布时间】:2019-05-21 19:12:33
【问题描述】:
我有一个大数据框,其中有一列看起来像这样:
var <- c("150507-001-0000001", "KMD070515-2-0000001",
"15144KMD01AA-0000001", "Z75Z151222-0000001")
我想要做的是提取部分字符串。我想要所有字符直到 第二个连字符。所以这就是我需要的:
150507-001
KMD070515-2
15144KMD01AA-0000001
Z75Z151222-0000001
所以我知道我是否只想要连字符之前的数据我会这样做:
> var <- sub("-.*", "", var)
> var
150507
KMD070515
15144KMD01AA
Z75Z151222
我还尝试了一个包 qdap,它给了我想要的东西:
library("qdap")
var <- beg2char(var, "-", 2)
我确实得到了我需要的最后一个代码的列,但是似乎有问题。因为当我根据列进行 left_join 时,它不起作用。我可以通过在数据视图中复制粘贴找到匹配项,但 left_join 找不到任何内容。但是,使用 sub 制作的 var 进行左连接(见上文)确实有效。但是对于我的某些行,我需要第一个连字符之后(以及第二个连字符之前)的字符来找到匹配项。
【问题讨论】:
-
而且顺便格式化成字符也无济于事。
标签: r regex string substring extract