使用模式选择在R中名称的任何部分都有XX的文件
我有一个文件夹,里面的文件名如下,例如:使用模式选择在R中名称的任何部分都有XX的文件,r,list,file,pattern-matching,R,List,File,Pattern Matching,我有一个文件夹,里面的文件名如下,例如: [1] "./final_model_pre/pre_pe_ja_bc_wm.tif" "./final_model_pre/pre_pe_ja_bc_wm.tif.aux.xml" [3] "./final_model_pre/pre_pe_ja_bc_wm.tif.ovr" "./final_model_pre/pre_an_le_glm_wm.tif" [5] "./final_model_pre/
[1] "./final_model_pre/pre_pe_ja_bc_wm.tif" "./final_model_pre/pre_pe_ja_bc_wm.tif.aux.xml"
[3] "./final_model_pre/pre_pe_ja_bc_wm.tif.ovr" "./final_model_pre/pre_an_le_glm_wm.tif"
[5] "./final_model_pre/pre_an_le_glm_wm.tif.aux.xml" "./final_model_pre/pre_an_le_glm_wm.tif.ovr"
[7] "./final_model_pre/pre_an_bo_ma_wm.tif" "./final_model_pre/pre_an_bo_ma_wm.tif.aux.xml"
[9] "./final_model_pre/pre_an_bo_ma_wm.tif.ovr" "./final_model_pre/pre_pe_ja_mx_wm.tif"
[11] "./final_model_pre/pre_pe_ja_mx_wm.tif.aux.xml" "./final_model_pre/pre_pe_ja_mx_wm.tif.ovr"
[13] "./final_model_pre/pre_pe_ja_rf1_wm.tif" "./final_model_pre/pre_pe_ja_rf1_wm.tif.aux.xml"
[15] "./final_model_pre/pre_pe_ja_rf1_wm.tif.ovr" "./final_model_pre/pre_pe_ja_svm_wm.tif"
[17] "./final_model_pre/pre_pe_ja_svm_wm.tif.aux.xml" "./final_model_pre/pre_pe_ja_svm_wm.tif.ovr"
我想列出名称中包含“pe_ja”
且仅扩展名为“.tif”
,而不是”.tif.ovr“
或”.tif.aux.xml“
或任何其他扩展名的所有文件。我正在尝试使用list.files
函数,但无法正确使用模式。你能帮我吗?
非常感谢。
附言:我用的是R.你可以用正则表达式
files = list.files(pattern = '.*pe_ja.*\\.tif$')
正则表达式末尾的$
表示该字符串已结束。\.
是一个转义句点,表示要匹配句点(不是任何字符,这是
通常匹配的字符)
*
选择任意字符任意次数(包括0) 您可以使用正则表达式来实现这一点
files = list.files(pattern = '.*pe_ja.*\\.tif$')
正则表达式末尾的$
表示该字符串已结束。\.
是一个转义句点,表示要匹配句点(不是任何字符,这是
通常匹配的字符)
*
选择任意字符任意次数(包括0) 试试这个files=list.files(pattern='.*pe\u ja..\.tif$)
注意,为了转义
你需要这个表达式\.
而不是\.
,这个表达式\.
表示转义\
字符,并匹配
之后的任何字符,新行除外
试试这个试试这个files=list.files(pattern='.*pe\u ja.\.tif$)
注意,为了转义
你需要这个表达式\.
而不是\.
,这个表达式\.
表示转义\
字符,并匹配
之后的任何字符,新行除外
试试这个你必须使用\\\。
因为R首先将“\\”解释为“\”字符,因为“\”也是R的转义字符,然后“\”字符被传递到正则表达式引擎。你必须使用\\。
因为R首先将“\\”解释为“\”字符,因为“\”也是R的转义字符,然后将“\”字符传递给正则表达式引擎。