How to find the length of a string in R

后端 未结 6 1543
遥遥无期
遥遥无期 2020-12-04 05:49

How to find the length of a string (number of characters in a string) without splitting it in R? I know how to find the length of a list but not of a string.

And wha

相关标签:
6条回答
  • 2020-12-04 05:55
    nchar("STRING")
    

    Check out this

    0 讨论(0)
  • 2020-12-04 05:57

    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] 2
    stri_length(NA)
    ## [1] NA
    
    0 讨论(0)
  • 2020-12-04 06:06

    The keepNA = TRUE option prevents problems with NA

    nchar(NA)
    ## [1] 2
    nchar(NA, keepNA=TRUE)
    ## [1] NA
    
    0 讨论(0)
  • 2020-12-04 06:10
    nchar(YOURSTRING)
    

    you may need to convert to a character vector first;

    nchar(as.character(YOURSTRING))
    
    0 讨论(0)
  • 2020-12-04 06:15

    You could also use the stringr package:

    library(stringr)
    str_length("foo")
    [1] 3
    
    0 讨论(0)
  • 2020-12-04 06:17

    See ?nchar. For example:

    > nchar("foo")
    [1] 3
    > set.seed(10)
    > strn <- paste(sample(LETTERS, 10), collapse = "")
    > strn
    [1] "NHKPBEFTLY"
    > nchar(strn)
    [1] 10
    
    0 讨论(0)
提交回复
热议问题