我知道如何在R中找到非Unicode字符串的长度。
nchar("ABC")
感谢在这里回答问题的所有人:如何在R中找到字符串的长度?。
但是对于Unicode字符串呢?
如何在Unicode字符串中查找字符串的长度(字符串中字符的数量)?如何在R中查找Unicode字符串的长度(以字节为单位)和字符数(符文、符号)?
我知道如何在R中找到非Unicode字符串的长度。
nchar("ABC")
感谢在这里回答问题的所有人:如何在R中找到字符串的长度?。
但是对于Unicode字符串呢?
如何在Unicode字符串中查找字符串的长度(字符串中字符的数量)?如何在R中查找Unicode字符串的长度(以字节为单位)和字符数(符文、符号)?
您可以使用 nchar
来表示字符数,使用 bytes
来表示字节数:
nchar("bi\u00dfchen", type="chars")
#[1] 7
nchar("bi\u00dfchen", type="bytes")
#[1] 8
在帮助中,您可以找到有关如何计算字符串大小的详细信息:
字符字符串的“大小”可以用三种方式之一来测量(对应类型参数):
bytes:存储字符串所需的字节数(在C语言中还需加上结尾的结束符,但不计算在内)。
chars:可读取的字符数。
width:使用等宽字体打印字符串时,cat命令将使用的列数。如果无法计算,则与chars相同。
如果您想知道字符串中包含的“符号”的数量(可能包含Unicode,也可能不包含Unicode,即未经过解释的Unicode符号),可以使用来自stringi
包的函数stri_escape_unicode
:
library(stringi)
nchar(stri_escape_unicode("bi\u00dfchen")) # same as stri_length(stri_escape_unicode("bi\u00dfchen"))
# [1] 12