我有下面的代碼和結果:[R編程:regexpr未來occurence
> x <- c("ABCDE CDEFG FGHIJ")
> x
[1] "ABCDE CDEFG FGHIJ"
> regexpr("D", x)
[1] 4
attr(,"match.length")
[1] 1
regexpr僅返回「d」的第一次出現,我怎樣才能得到它返回「d」
所有出現我有下面的代碼和結果:[R編程:regexpr未來occurence
> x <- c("ABCDE CDEFG FGHIJ")
> x
[1] "ABCDE CDEFG FGHIJ"
> regexpr("D", x)
[1] 4
attr(,"match.length")
[1] 1
regexpr僅返回「d」的第一次出現,我怎樣才能得到它返回「d」
所有出現你是如此接近 - 只是一對夫婦的線從幫助文件regexpr
下來...
gregexpr("D", x)
# [[1]]
# [1] 4 8
# attr(,"match.length")
# [1] 1 1
# attr(,"useBytes")
# [1] TRUE
我確信會有純粹的regex
方法。然而stringr::str_locate_all
就足夠了
library(stringr)
unique(unlist(str_locate_all(x, 'D')))
## [1] 4 8
您還可以使用strsplit這樣的:
which(unlist(strsplit(x,split=""))=="D")
[1] 4 8
這種方式,你也可以有精確匹配D.
+1了明顯的方法! – mnel 2012-07-12 06:06:32