【发布时间】:2014-12-03 14:18:24
【问题描述】:
我仍然对正则表达式语法有些困惑。你能帮我解决这些模式吗:
_A00_A1234B_
_A00_A12345B_
_A1_A12345_
到目前为止我的方法:
vapply(strsplit(files, "[_.]"), function(files) files[nchar(files) == 7][1], character(1))
或
str_extract(str2, "[A-Z][0-9]{5}[A-Z]")
预期的输出是
A1234B
A12345B
A12345
谢谢!
【问题讨论】:
-
预期输出是什么?
-
@rkay
str_extract代码为您提供第二个元素,即。A12345B即。capital letter[A-Z]后跟5 digits即。[0-9]{5}后跟大写字母[A-Z]。第一个和第三个元素返回 NA,因为它们没有描述的模式。 -
对不起,我忘了添加预期的输出。问题是位数不同,即4-5位,有时后面的char会丢失。
-
好的,明白了:str_extract(files, "[A-Z][0-9]{4,5}[A-Z]")