我有一個包含 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"
uj5u.com熱心網友回復:
由于我們知道名稱結構,因此我會想象提取 3 個字母的子字串,然后使用它split來獲取單個串列,這就是您要查找的內容。
split(path.list, substr(basename(path.list), 4, 6))
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/381629.html
