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