當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。