是否有R函数从路径名中提取数字?

时间:2019-11-06 23:54:35

标签: r file

我有一个要从文件夹读取的文件列表。其中一些格式为csv,某些格式为pp。我有两个单独的功能,可根据文件格式读取文件。

当前,我具有使用var moredata = JSON.parse(""{\"latitude\":999.123456,\"longitude\":-999.123456,\"timezone\":\"America\/New_York\",\"currently\":{ .... }"\n""); 命令的文件列表。我想制作一个将ID映射到其对应文件名的字典,例如list.files映射到/Users/Bob/Box/here/is/some/data/100.csv,而100映射到/Users/Bob/Box/here/is/some/data/50.pp。

我正在遍历另一组ID,因此字典的目的应该是使其更容易提取与ID对应的路径名。有没有办法构造这本词典?我在想也许在处理文件夹时是否有办法从路径名中自动提取ID?

1 个答案:

答案 0 :(得分:0)

我在这里找到了解决方案:https://stla.github.io/stlapblog/posts/Numextract.html

要从字符向量中提取数字,可以使用库stringr并创建一个提取数字的函数:

> library(stringr)
> numextract <- function(string){str_extract(string, "[-+]?[0-9]*\\.?[0-9]+")
}  
> numextract("30.5ml")
[1] "30.5"

# With your example:
> numextract("/Users/Bob/Box/here/is/some/data/++---100.csv")
[1] "-100."

# you can add 'as.numeric' to extract only numerical value
> as.numeric(numextract("/Users/Bob/Box/here/is/some/data/++---100.csv"))
[1] -100

是您要找的东西吗?