模式匹配R中的文件名

时间:2013-10-01 15:17:00

标签: regex r esri

这可能很简单,但我似乎无法弄明白该怎么做。

我在R(Shiny)中有一个应用程序,用户上传一个* .zip文件,该文件包含ESRI shapefile的所有组件。我将这些文件解压缩到他们自己的目录中。然后,此文件夹可能包含也可能不包含* .shp.xml文件。在我的R代码中的某个时刻,我需要找到已解压缩的* .shp文件的确切名称,并将其与* .shp.xml文件区分开来。如何编写将要执行此操作的表达式?我正在考虑使用list.files,但我不确定如何编写表达式的其余部分。

谢谢!

2 个答案:

答案 0 :(得分:3)

使用R正则表达式模式时,“$”具有特殊含义作为字符元素的结尾(并且'点'需要使用\\进行转义,所以

shpfils <- list.files(path, pattern="\\.shp$")

答案 1 :(得分:0)

这应该隔离你的档案 - Sys.glob("*shp") 相比于 Sys.glob("*shp*") 哪个应该给两个文件 要么 Sys.glob("*shp.xml") 哪个应该提供.shp.xml文件