R:从字符串中提取特定数字

时间:2017-12-13 12:55:45

标签: r regex string

我有一个如下列:

C1
we-23 pcs,qw-4 pcs
we-30 pcs
er-21 pcs,we-2 pcs
tr-23 pcs
we-0 pcs, re-2 pcs
we-0 pcs
NA

我想提取"我们"以数字格式,保留NAs且没有字符(0)。 我用过:

C2 <- as.numeric(str_extract_all(str_extract_all(C1, "we-*\\d+"), "\\d+"))

结果:

C2
23
30
2
0
0
0
NA

但是,我想让tr-23 pcs与we-0 pcs不同。所以我正在使用另一个逻辑列来查找&#34;我们&#34;在C1。 有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用

C2 <- as.numeric(str_extract(C1, "(?<=we-)\\d+"))

请参阅regex demo

模式详情