计算没有空格的单词数

Count the number of words without white spaces

我有以下字符串:

str1<-" india hit milestone electricity wind solar"

其中包含的单词数是:

>sapply(strsplit(str1, " "), length)
[1] 7

这不是真的,因为我们在 str1 的开头有一个 space。我尝试 trim 白色 space 但是:

> stripWhitespace(str1) # by tm package

returns同样的情况:

[1] " india hit milestone electricity wind solar"

为什么?

也许你可以试试

lengths(gregexpr("\b\w+\b",str1))

这样

> lengths(gregexpr("\b\w+\b",str1))
[1] 6

你可以只使用基本函数trimws

sapply(strsplit(trimws(str1), " "), length)
[1] 6

您可以像这样尝试使用 stringr::str_trimstringr::str_split

length(stringr::str_split(stringr::str_trim(str1), pattern=" ", simplify=T))

我们可以使用str_count

library(stringr)
str_count(str1, '\w+')
#[1] 6