R语言 计算字符串中的字数

R语言 计算字符串中的字数

在这篇文章中,我们将看到如何在R编程语言中计算字符串的字数。

方法1:使用 strplit sapply 方法

R语言中的strsplit()方法用于返回一个包含在指定字符串中的单词的向量,该向量基于与定义的regex匹配。这个向量的每个元素都是原始字符串的一个子串。因此,返回的向量的长度相当于单词的数量。

语法: strsplit( str , regex )

参数 :

  • str – 要计算出现次数的字符串
  • regex – 包含正则表达式的字符向量(或可强制使用的对象),用于匹配模式。在查找字数的情况下,该模式只相当于””。

sapply()方法: 它用于计算包含单词的向量的长度。sapply()方法用于在向量或列表上应用函数,并返回基于这些计算的输出。如果第二个参数,也就是函数是length,那么将返回分割后的向量的长度。

sapply (str , FUN)

确定复合词的综合方法在R中由以下语法定义。

sapply(strsplit(str, " "), length)

代码

# declaring string
str <- "Counting the words in this R sentence?\
Try this approach in GFG! "
  
print ("Original string")
print (str)
print ("Total number of words")
  
# splitting a string by spaces
split <- strsplit(str, " ")
sapply( split , length)

输出

[1] "Original string"
[1] "Counting the words in this R sentence? Try this approach in GFG! "
[1] "Total number of words"
[1] 12

方法2:使用gregexpr方法。

这个方法使用基础R中的各种方法来计算R中特定字符的出现次数。gregexpr()方法用来返回一个与函数参数列表的特定模式相匹配的子列表。在这种情况下,使用的模式匹配是区分大小写的。本例中的模式是 \\W+

语法: gregexpr(pattern, text)

然后应用lengths方法,以返回参数向量中所有元素的单独长度。

语法: lengths(x)

该方法使用正则表达式符号\W来匹配非字字符,使用+来表示一行中的一个或多个。它返回单词之间的分隔符数量,因此在大多数情况下,单词的数量实际上是,分隔符+1。

代码

# declaring string
str <- "Counting the words in this R sentence? \
Try this approach in GFG! "
  
print ("Original string")
print (str)
print ("Total number of words")
  
# splitting a string by spaces
lengths(gregexpr("\\W+", str)) + 1  

输出

[1] "Original string"
[1] "Counting the words in this R sentence? Try this approach in GFG! "
[1] "Total number of words"
[1] 13

方法3:使用stringr包

R中的stringR包被用来进行字符串操作。它需要明确地安装在工作空间中以访问其方法和例程。

install.packages("stringr")

stringr包提供了一个 str_count() 方法,用来计算作为函数参数指定的某个模式的出现次数。该模式可以是单个字符或一组字符。任何与该表达式匹配的实例都会导致计数的增加。这个方法也可以在一个字符串的向量上调用,并返回一个单独的计数向量,其中包含找到的模式匹配数量的单独计数。然而,这个方法只被认为是近似的重词匹配。如果没有找到匹配项,则返回0。

语法: str_count(str, pattern = “”)

参数:

  • str – 要计算出现次数的字符串
  • pattern – 要匹配的模式

代码

library("stringr")
  
# declaring string
str <- "Counting the words in this R sentence? Try this approach in GFG! "
print ("Original string")
print (str)
print ("Total number of words")
  
# splitting a string by spaces
str_count(str ,"\\W+") 

输出

[1] "Original string"
[1] "Counting the words in this R sentence? Try this approach in GFG! "
[1] "Total number of words"
[1] 12

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程