R语言 特定字符子串在一个字符串的位置

例如,对于一个字符串“ABCDEFGH”,我怎样求得“CDE”在这个字符串的位置?

刚看了楼下的回答, substr(x,start,stop)  是用来提取特定位置的函数,

例如

substr("abcdef", 2, 4) # 提取第2到第4位置的元素
[1] "bcd"

 获得位置 应该用 grep( )

a<-LETTERS[1:8]
#输出的
#> a
#[1] "A" "B" "C" "D" "E" "F" "G" "H"

grep("D",a,value=F)
# 结果 [1] 4     D在a 中的第四个

# 缺点是这函数一次只能提取一个

#针对这个问题可以设计一个循环 函数  一次可以提取index里面的多个


f<-function(index,x){
a<-c()
for (i in index){
    a[i]<-grep(i,x,value=F)
}
return(a)
}

#测试:
x<-a
index<- c("A","D","H")
f(index,x)

结果截图:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-06
可以用substr()或者substring()
相似回答