Regex 如何在R中使用grep()从数据帧中选择行

Regex 如何在R中使用grep()从数据帧中选择行,regex,r,Regex,R,我试图根据其中一列的内容从数据框中选择行。我使用的是grep(),但在尝试匹配内容结尾时,它只匹配提交的最后一个模式 代码如下: df1 <- data.frame(cName=c( 'A Co', 'B Co', 'C Co', 'D Co', 'F Llc', 'G Llc', 'H Llc', 'I Llc', 'P Inc', 'Q Inc', 'R Inc', 'S Inc')) tName <- grep( ("Inc$ | Llc$"

我试图根据其中一列的内容从数据框中选择行。我使用的是grep(),但在尝试匹配内容结尾时,它只匹配提交的最后一个模式

代码如下:

df1 <- data.frame(cName=c(
    'A Co', 'B Co',  'C Co', 'D Co', 
    'F Llc', 'G Llc', 'H Llc', 'I Llc',
    'P Inc', 'Q Inc', 'R Inc', 'S Inc'))    
tName <- grep( ("Inc$ | Llc$"),df1$cName, value = T)
tName
[1] "F Llc" "G Llc" "H Llc" "I Llc"
df1如预期:

df1 <- data.frame(cName=c(
    'A Co', 'B Co',  'C Co', 'D Co', 
    'F Llc', 'G Llc', 'H Llc', 'I Llc',
    'P Inc', 'Q Inc', 'R Inc', 'S Inc'))    
tName <- grep( ("(Inc|Llc)$"),df1$cName, value = T)
tName

df1去掉它们有意义的空格。换句话说,只需执行grep(“Inc$| Llc$”,df1$cName,value=TRUE)
。如果空格很重要,请执行
grep(“Inc$| Llc$”,df1$cName,value=TRUE)
正确!很好。