我有一系列的文件名,提取特定元素中的R
a<-c("asd1-36457-1-qwe-20.txt","asd-3234-4-qwe-20.txt","asd1-5457-3-qwe-20.txt",
"asd1-546-2-qwe-20.txt","asd1-789-1-qwe-20.txt","asd-542112-7-qwe-20.txt",
"asd-754-4-qwe-20.txt","asd-3466-3-qwe-20.txt","asd-4675-2-qwe-20.txt")
我想提取的第二和第三塊「 - 」在每個文件名,然後列出這兩個區塊作爲矩陣中的兩列。我用下面的代碼進行:
b<-as.numeric(unlist(Map(function(x) x[2], strsplit(a,"-"))))
c<-as.numeric(unlist(Map(function(x) x[3], strsplit(a,"-"))))
cbind(b,c)
結果如下:
b c
[1,] 36457 1
[2,] 3234 4
[3,] 5457 3
[4,] 546 2
[5,] 789 1
[6,] 542112 7
[7,] 754 4
[8,] 3466 3
[9,] 4675 2
這是正確的。但是我想知道是否有更方便的方法來解決這個問題,比如「gsub」?謝謝。
查看'?regexpr'幫助文件底部的'parse_one'示例顯示瞭如何使用perl樣式正則表達式 – Shape