请教一下大家,一个字符向量里面的字符串被特定字符分为3或者4部分(比如c("a-b-3-a","a-d-4"),里面分隔的特定字符为-),请问怎么把这个向量里面所有的第三部分(就是例子里的数字)都提取出来?

0
已邀请:
0

谢佳标 - 微软中国MVP,多届中国R语言大会演讲嘉宾。 从事数据挖掘建模工作已有10年, 曾经从事过咨询、电商、电购、电力、游戏、金融等行业,了解不同领域的数据特点。 有丰富的利用R语言进行数据挖掘实战经验。 合著《R语言与数据挖掘》及《数据实践之美》等书籍,均在京东有卖。此外《R语言游戏数据分析与挖掘》预计将在2017年上半年出版。 2016-12-27 回答

> x <- c("a-b-3-a","a-d-4")
> x
[1] "a-b-3-a" "a-d-4"  
> myfun <- function(x){
+   substr(x,gregexpr("-",x)[[1]][2]+1,gregexpr("-",x)[[1]][3]-1)
+ }
> myfun(x)
[1] "3" "4"

要回复问题请先登录注册