我在文件夹中有以下示例文件。我想读取名称相似的文件。如果使用list.files(pattern="ABC_.*?\\.csv")
,它将读取所有csv
文件。我应该更改什么,以便它只能读取ABC_001.csv
,ABC_012
并且类似地读取其他两个。
ABC_001.csv
ABC_001_def.csv
ABC_012.csv
ABC_012_def.csv
在字符串pattern
的开头(^
)创建与'ABC'相匹配的_
,然后是,然后是a0
和两位数(\\d{2}
),然后是.
(则是与任何字符匹配的元字符转义为\\.
as ),在字符串.
的末尾($
)匹配'csv'字符串
list.files(pattern = '^ABC_0\\d{2}\\.csv$', full.names = TRUE)
如果是3位数字,而不是特定于0,即如果我们需要匹配“ ABC_135.csv”,请删除0
并使用\\d{3}
3位数字
list.files(pattern = '^ABC_\\d{3}\\.csv$', full.names = TRUE)
可以用 grep
v1 <- c("ABC_001.csv", "ABC_001_def.csv", "ABC_012.csv", "ABC_012_def.csv")
grep('^ABC_0\\d{2}\\.csv$', v1, value = TRUE)
#[1] "ABC_001.csv" "ABC_012.csv"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句