使用Stringr进行部分字符串提取-获得NA

时间:2018-09-03 20:26:01

标签: r regex string stringr

我正在尝试使用Stringr提取字符串的一部分。

我的目标是输出为E5_1_C33和E5_1_C23,但是我得到的是NA。

任何帮助将不胜感激!

library(stringr)
mystring <- c("can_ComplianceWHOInfrastructurePol_E5_1_C33","can_ComplianceWHOInfrastructurePol_E5_1_C23")
str_extract(mystring, "A\\d_\\d_B\\d\\d$")

2 个答案:

答案 0 :(得分:0)

根据需要稍微修改了您的行,不仅A和B:

str_extract(mystring, "[A-z]\\d_\\d_[A-z]\\d\\d$")

答案 1 :(得分:0)

这是使用gsub

的R base方法
> gsub(".*(\\w{2}_\\w{1}_\\w{3})$", "\\1", mystring)
[1] "E5_1_C33" "E5_1_C23"