当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R charClass 人物分类


R语言 charClass 位于 utils 包(package)。

说明

正在使用的 (C99) 宽字符分类函数的接口。

用法

charClass(x, class)

参数

x

UTF-8 编码的 length-1 字符向量或 Unicode 点的整数向量(或可强制转换为整数的向量)。

class

字符串,“详细信息”部分中给出的字符串之一。

细节

字符类的分类取决于平台。这些类由 Windows 上的内部表以及 macOS 和 AIX 上的内部表(可选但默认)确定。

字符类解释如下:

"alnum"

字母或数字。

"alpha"

按字母顺序排列。

"blank"

空格或制表符。

"cntrl"

控制字符。

"digit"

数字0-9

"graph"

图形字符(除空格外的可打印字符)。

"lower"

小写字母。

"print"

可打印字符。

"punct"

标点符号字符。某些平台将所有非字母数字图形字符视为标点符号。

"space"

空白,包括制表符、表格和换行符以及回车符。有些操作系统包含不间断空格,有些则不包含不间断空格。

"upper"

大写字母。

"xdigit"

十六进制字符, 0-9A-fa-f 之一。

字母字符包含所有小写和大写字符以及一些其他字符(例如,“标题大小写”中的字符)。

字符是否可打印用于决定打印时是否对其进行转义 - 请参阅 print.default 的帮助。

如果 x 是一个字符串,它应该是 ASCII 或声明为 UTF-8 - 请参阅 Encoding

charClass被添加到R4.1.0。检查字符类的一种不太直接的方法(在早期版本中也有效)是使用类似的方法grepl("[[:print:]]", intToUtf8(x))- 但是,正则表达式代码可能不使用与打印相同的分类函数,并且在 macOS 上不使用相同的分类函数。

长度为 x 中字符或整数数量的逻辑向量。

注意

C99 标准将非 ASCII 数字排除在 "digit" 类之外:大多数平台将它们视为字母。

假设系统的宽字符分类函数以 Unicode 点编码,但众所周知,对于所有最新平台都是如此。

即使在一个平台上,分类也可能取决于区域设置。

例子

x <- c(48:70, 32, 0xa0) # Last is non-breaking space
cl <- c("alnum", "alpha", "blank", "digit", "graph", "punct", "upper", "xdigit")
X <- lapply(cl, function(y) charClass(x,y)); names(X) <- cl
X <- as.data.frame(X); row.names(X) <- sQuote(intToUtf8(x, multiple = TRUE))
X

charClass("ABC123", "alpha")
## Some accented capital Greek characters
(x <- "\u0386\u0388\u0389")
charClass(x, "upper")

## How many printable characters are there? (Around 280,000 in Unicode 13.)
## There are 2^21-1 possible Unicode points (most not yet assigned).
pr <- charClass(1:0x1fffff, "print") 
table(pr)

也可以看看

字符类在 regular expression 中使用。

操作系统的 man 页面用于 iswctypewctype

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Character Classification。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。