如何在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))