A:如何检查字符是否在字符串中


您可以使用以下方法来检查某个字符是否在 R 中的字符串中:

方法1:使用Base R检查字符是否在字符串中

 grepl(my_character, my_string, fixed= TRUE )

方法2:使用stringr包检查字符是否在字符串中

 library (stringr) 

str_detect(my_string, my_character)

以下示例展示了如何在实践中使用每种方法。

示例 1:使用 Base R 检查字符是否在字符串中

以下代码显示如何检查 R 中的特定字符串中是否存在“Doug”:

 #define character to look for
my_character <- "Doug"

#define string
my_string <- "Hey my name is Douglas"

#check if "Doug" is in string
grepl(my_character, my_string, fixed= TRUE )

[1] TRUE

由于字符串中存在“Doug”,因此grepl()函数返回TR E

假设我们检查字符串中是否存在“Steve”:

 #define character to look for
my_character <- "Steve"

#define string
my_string <- "Hey my name is Douglas"

#check if "Steve" is in string
grepl(my_character, my_string, fixed= TRUE )

[1] FALSE

由于字符串中不存在“Steve”,因此grepl()函数返回FALSE

示例 2:使用 stringr 包检查字符是否在字符串中

下面的代码展示了如何使用stringr包的str_detect()函数来检查特定字符串中是否存在字符串“Doug”:

 library (stringr)

#define character to look for
my_character <- "Doug"

#define string
my_string <- "Hey my name is Douglas"

#check if "Doug" is in string
str_detect(my_string, my_character)

[1] TRUE

str_detect()函数返回TRUE ,因为“Doug”在字符串中。

请注意,我们还可以使用以下语法来检查字符串中是否存在多个字符:

 library (stringr)

#define vector of characters to look for
my_characters <- c("Doug", "Steve", "name", "He")

#define string 
my_string <- "Hey my name is Douglas"

#check if each character is in string
str_detect(my_string, my_characters)

[1] TRUE FALSE TRUE TRUE

从结果我们可以看出:

  • “Doug”存在于链条中。
  • 频道中不存在“Steve”。
  • 字符串中存在“name”。
  • “It”存在于字符串中。

相关:如何在 R 中使用 str_detect() 函数(3 个示例)

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如何从R中的字符串中删除最后一个字符
如何在R中查找字符串中的字符位置
如何在 R 中选择包含特定字符串的列

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注