How to find the length of a string in R How to find the length of a string in R r r

How to find the length of a string in R


See ?nchar. For example:

> nchar("foo")[1] 3> set.seed(10)> strn <- paste(sample(LETTERS, 10), collapse = "")> strn[1] "NHKPBEFTLY"> nchar(strn)[1] 10


Use stringi package and stri_length function

> stri_length(c("ala ma kota","ABC",NA))[1] 11  3 NA

Why? Because it is the FASTEST among presented solutions :)

require(microbenchmark)require(stringi)require(stringr)x <- c(letters,NA,paste(sample(letters,2000,TRUE),collapse=" "))microbenchmark(nchar(x),str_length(x),stri_length(x))Unit: microseconds           expr    min     lq  median      uq     max neval       nchar(x) 11.868 12.776 13.1590 13.6475  41.815   100  str_length(x) 30.715 33.159 33.6825 34.1360 173.400   100 stri_length(x)  2.653  3.281  4.0495  4.5380  19.966   100

and also works fine with NA's

nchar(NA)## [1] 2stri_length(NA)## [1] NA

EDIT 2021

NA argument is no longer valid if you are using latest R version.


You could also use the stringr package:

library(stringr)str_length("foo")[1] 3