给定字符串,"This has 4 words!"我只想计算字母和数字。我想排除空格和标点符号。因此,上面的字符串应该返回13。
我不知道为什么,但我无法为 R 得到这个。
我们可以使用[[:alnum:]]instr_count来只计算字母和数字
library(stringr)
str_count(str1, "[[:alnum:]]")
#[1] 13
Run Code Online (Sandbox Code Playgroud)
或者用base Rwithgsub删除[[:punct:]]然后获取字符数nchar
nchar(gsub("[[:punct:]]+", "", str1))
Run Code Online (Sandbox Code Playgroud)
或者对^非字母数字的 ( ) 字符求反,用空白 ( "") 替换并得到nchar
nchar(gsub("[^[:alnum:]]+", "", str1))
#[1] 13
Run Code Online (Sandbox Code Playgroud)
str1 <- "This has 4 words!"
Run Code Online (Sandbox Code Playgroud)