我知道如何在R中找到非Unicode字符串的长度。
nchar("ABC")
(感谢所有回答此问题的人:http://www.vyapin.com/products/sharepoint-integration/external-data-connector)。
但是Unicode字符串呢?
如何在Unicode字符串中查找字符串的长度(字符串中的字符数)?如何在R中的Unicode字符串中找到长度(以字节为单位)和字符数(符文,符号)?
答案 0 :(得分:5)
您可以nchar
使用characters
的数量和bytes
的数量:
nchar("bi\u00dfchen", type="chars")
#[1] 7
nchar("bi\u00dfchen", type="bytes")
#[1] 8
实际上,在帮助中,您可以找到有关如何计算字符串大小的详细信息:
字符串的“大小”可以用三种方式之一测量(对应于类型参数):
的字节强>
存储字符串所需的字节数(加上C中的最终终止符,不计算)。 的字符强>
人类可读字符的数量 的宽度强>
cat将用于以等宽字体打印字符串的列数。如果无法计算,则与字符相同。
如果你想知道"符号的数量"在可能(或可能不)包含unicode的字符串内(即,没有解释 unicode符号),您可以使用包stri_escape_unicode
中的函数stringi
:
library(stringi)
nchar(stri_escape_unicode("bi\u00dfchen")) # same as stri_length(stri_escape_unicode("bi\u00dfchen"))
# [1] 12