如何在 r 中使用 str_match(带有示例)


R 中stringr包的str_match()函数可用于从字符串中提取匹配组。

该函数使用以下语法:

str_match(字符串,模式)

金子:

  • 字符串:字符向量
  • model:要搜索的型号

下面的例子展示了如何在实际中使用这个功能

示例 1:将 str_match 与 Vector 一起使用

以下代码演示如何使用str_match()函数从字符向量中提取匹配模式:

 library (stringr)

#create vector of strings
x <- c('Mavs', 'Cavs', 'Heat', 'Thunder', 'Blazers')

#extract strings that contain 'avs'
str_match(x, pattern=' avs ')

     [,1] 
[1,] “avs”
[2,] “avs”
[3,] NA   
[4,] NA   
[5,] NA  

结果是一个矩阵,其中每行显示匹配模式或NA值(如果未找到模式)。

例如:

  • 在第一个元素“Mavs”中找到模式“avs”,因此返回“avs”。
  • 在第二个元素“Cavs”中找到模式“avs”,因此返回“avs”。
  • 在第三个元素“Heat”中未找到模式“avs”,因此返回 NA。

等等。

示例 2:将 str_match 与数据框结合使用

假设我们在 R 中有以下数据框:

 #create data frame
df <- data. frame (team=c('Mavs', 'Cavs', 'Heat', 'Thunder', 'Blazers'),
                 points=c(99, 104, 110, 103, 115))

#view data frame
df

     team points
1 Mavs 99
2 Cavs 104
3 Heat 110
4 Thunder 103
5 Blazers 115

以下代码演示如何使用str_match()函数向数据框中添加新列,该新列可能包含也可能不包含每个团队名称的匹配模式:

 library (stringr)

#create new column
df$match <- str_match(df$team, pattern=' avs ')

#view updated data frame
df

     team points match
1 Mavs 99 avs
2 Cavs 104 avs
3 Heat 110 <NA>
4 Thunder 103 <NA>
5 Blazers 115 <NA>

标记为match的新列包含“avs”或 NA 模板,具体取决于模板是否位于团队列中。

其他资源

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

如何在 R 中使用 str_replace
如何在 R 中使用 str_split
如何在 R 中使用 str_detect
如何在 R 中使用 str_count
如何在 R 中使用 str_pad

添加评论

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