R语言 计算某个字符在字符串中出现的次数

R语言 计算某个字符在字符串中出现的次数

在这篇文章中,我们将讨论如何在R编程语言中计算字符串中某个字符的出现次数。

方法1:使用stringR包

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

install.packages("stringr")
R

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

语法: str_count(str, pattern = "")

参数:

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

例1 :

library(stringr)
  
# declaring string
str1 = "$geeks%for!geeks%"
  
# declaring character to find
ch1 = "a"
print("Count for character a")
str_count(str1,ch1)
  
ch2 = "%"
print("Count for character %")
str_count(str1,ch2)
R

输出

[1] "Count for character a" 
[1] 0 
[1] "Count for character %" 
[1] 2
R

例2 :

library(stringr)
  
# declaring string
str = c("$geeks%for!geeks%","cs^e%portal",
        "le%..e3oten","joinnow3")
print ("Original vector")
print (str)
  
# declaring character to find
ch2 = "%"
print("Count for character %")
str_count(str,ch2)
R

输出

[1] "Original vector"
[1] "$geeks%for!geeks%" "cs^e%portal" "le%..e3oten" "joinnow3"
[1] "Count for character %"
[1] 2 1 1 0
R

方法2:使用regmatches()方法

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

语法

gregexpr(pattern, text)

接下来是应用R中的regmatches()方法,用来提取然后替换gregexpr()方法返回的匹配子列表。第一个参数是原始向量,第二个参数是作为前一个方法的结果返回的对象。然后应用lengths()方法,以返回参数向量中所有元素的单独长度。

语法

lengths(x)

例1 :

# declaring string
str1 = "$geeks%for!geeks%"
  
# declaring character to find
ch1 = "a"
print("Count for character a")
lengths(regmatches(str1, gregexpr(ch1, str1)))
  
ch2 = "%"
print("Count for character %")
lengths(regmatches(str1, gregexpr(ch2, str1)))
R

输出

[1] "Count for character a"
[1] 0
[1] "Count for character %"
[1] 2
R

例2 :

# declaring string
str = c("$geeks%for!geeks%","cs^e%portal","le%..e3oten","joinnow3")
print ("Original vector")
print (str)
  
# declaring character to find
ch2 = "%"
print("Count for character %")
lengths(regmatches(str, gregexpr(ch2, str)))
R

输出

[1] "Original vector"
[1] "$geeks%for!geeks%" "cs^e%portal" "le%..e3oten" "joinnow3"
[1] "Count for character %"
[1] 2 1 1 0
R

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册