R语言 从文件名字符串中提取数值和特定字符

x7rlezfr  于 2024-01-03  发布在  其他
关注(0)|答案(1)|浏览(114)

我还不太理解正则表达式,对于这个项目,我没有时间学习它(但打算尽快)。假设我有这些文件名作为字符串:

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 下划线后面的数字,即100012145,以及最后一个单词,即FASTGRABBER,然后将它们粘贴在一起,就像这样:10001_FAST2145_GRABBER。我该怎么做呢?

编辑:文件结构几乎总是这样,除了数值可以是任何数字,并且结尾的单词可以与命名文件的人一样长。

6pp0gazn

6pp0gazn1#

由于细节如此之少,谁知道这是否适用于第二种情况,但它确实适用于提供的唯一示例:

library(stringr)
str_extract(string, pattern = "(?<=_)\\d+_[A-Z]+")
# [1] "10001_FAST"

字符串
说明:

  • (?<=_)查找下划线,但不要在匹配中包含它,
  • \\d+然后是一个或多个数字,
  • _然后是下划线,
  • [A-Z]+然后一个或多个大写字母

相关问题