2017-04-10 6 views

答えて

4

でこれを行うことができAAライブラリ発見していない:あなたが試すことができ

x <- c("stRing", "strIng", "String", "sTRIng", "string") 

sapply(gregexpr("[A-Z]", x), `[`, 1) 
## [1] 3 4 1 2 -1 

あなたが使用可能な "stringi" パッケージには、もあります:

library(stringi) 
stri_locate_first_regex(x, "[A-Z]") 
##  start end 
## [1,]  3 3 
## [2,]  4 4 
## [3,]  1 1 
## [4,]  2 2 
## [5,] NA NA 

としては、regexprも動作し、sapplyの必要性を除去し、コメントで@lmoが指摘:

regexpr("[A-Z]", x) 
## [1] 3 4 1 2 -1 
## attr(,"match.length") 
## [1] 1 1 1 1 -1 
## attr(,"useBytes") 
## [1] TRUE 
0

ストレートフォワードな方法はである焦がす文字ベクトルと試験に各列を分割することになります大文字:

x <- c("stRing", "strIng", "String", "string", "sTRIng") # from the other answer 

sapply(strsplit(x, ''), function(y) which(y %in% LETTERS)[1]) 

# [1] 3 4 1 NA 2 
関連する問題