【发布时间】:2022-01-17 17:59:40
【问题描述】:
我有一个格式为 8 字符的文件名的向量
"/relative/path/to/folder/a(bc|de|fg)...[xy]1.sav"
其中括号包含两三个已知字符之一,而“...”是三个未知字符。我想匹配所有具有相同未知序列XXX的字符向量并排序到字符向量列表中。
我不确定如何继续。我正在考虑一种方法来提取第四到第六位的字母(...),然后放入一个向量中,然后使用 `grep 获取所有具有匹配字符串的文件。
例如
# Pseudo-code. Not functioning code, but sort of the thing I want to do
> char.extr <- str_extract(file.vector, !"a(bc|de|fg)...[xy]1.sav")
> char.extr
"JKL", "MNO" ,"PQR" ...
# Use grep and lapply to put matched strings into list
> path.list <- lapply(char.extr, grep, file.vector)
> path.list
1. "/relative/path/to/folder/abcJKLx1.sav"
"/relative/path/to/folder/adeJKLy1.sav"
2. "/relative/path/to/folder/afgMNOx1.sav"
"/relative/path/to/folder/abcMNOy1.sav"
【问题讨论】: