我还不太了解正则表达式,对于这个项目我没有时间学习它(但打算尽快学习)。假设我有这些文件名作为字符串:
string <- c("2019data/ABC19_XY_10001/finit1/ABC19_XY_10001_FAST (1).csv",
"2019data/ABC19_XY_2145/finit2/ABC19_XY_2154_GRABBER (1).csv")
对于此示例,我只想提取下划线后面的数字 ie, 10001
and2145
以及最后一个单词 ie, FAST
andGRABBER
并将它们粘贴在一起,如下所示:10001_FAST
and 2145_GRABBER
。我该怎么做呢?
编辑:文件结构几乎总是这样,除了数值可以是任意位数,末尾的单词可以与命名文件的人一样长。
由于细节如此之少,谁知道这是否适用于第二种情况,但它确实适用于提供的唯一示例:
解释:
(?<=_)
查找下划线,但不要将其包含在匹配中,\\d+
然后是一位或多位数字,_
然后是下划线,[A-Z]+
然后是一个或多个大写字母