如何在R中find一个string的长度?

如何find一个string的长度(string中的字符数),而不分裂在R? 我知道如何find一个列表的长度,但不是一个string。

那么Unicodestring呢? 如何查找Unicodestring中的长度(以字节为单位)和字符数(符号,符号)?

相关问题:

  • 如何在R中findUnicodestring中的“真实”字符数

?nchar 。 例如:

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

使用stringi包和stri_length函数

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

为什么? 因为这是所介绍解决scheme中最快的:)

 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 

而且与NA的工作也很好

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

看看这个

你也可以使用stringr包:

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

keepNA = TRUE选项可防止NA出现问题

 nchar(NA) ## [1] 2 nchar(NA, keepNA=TRUE) ## [1] NA 
 nchar(YOURSTRING) 

您可能需要先转换为字符向量;

 nchar(as.character(YOURSTRING))