Подсчитывать только строки алфавита c в строке - PullRequest
1 голос
/ 04 марта 2020

Учитывая строку "This has 4 words!" Я хотел бы считать только буквы и цифры. Я хотел бы исключить пробелы и знаки препинания. Таким образом, приведенная выше строка должна возвращать 13.

Я не уверен, почему, но я не могу получить это для R.

1 Ответ

3 голосов
/ 04 марта 2020

Мы можем использовать [[:alnum:]] в str_count для подсчета только алфавитов и цифр

library(stringr)
str_count(str1, "[[:alnum:]]")
#[1] 13

Или в base R с помощью gsub, чтобы удалить [[:punct:]], а затем получить количество символов с nchar

nchar(gsub("[[:punct:]]+", "", str1))

Или отрицание (^) символов, которые не являются буквенной цифрой c, замените пробелом ("") и получите nchar

nchar(gsub("[^[:alnum:]]+", "", str1))
#[1] 13

данные

str1 <- "This has 4 words!"
...