在R中的变量中查找子字符串后查找子字符串并获取所有内容

时间:2015-12-03 04:27:22

标签: r grep substr

我使用substr()grep()了解如何查找子字符串。我的问题是摆脱子串后面的一切。以下是我的数据集示例:

Williamsport, Pennsylvania !Williamsport, Pennsylvania 
El Cajon, California !El Cajon, California 
Gary, Indiana !Gary, Indiana
New York City                                  
Bowie, Maryland 

我想在“!”之后摆脱一切。 我可以使用ifelse(),如果是这样的话?

2 个答案:

答案 0 :(得分:2)

您可以使用sub()

sub(" !.*", "", x)
# [1] "Williamsport, Pennsylvania" "El Cajon, California"       "Gary, Indiana"
# [4] "New York City"              "Bowie, Maryland"

.*是一个表示任意字符的正则表达式,任意次。所以这基本上说"删除" !""。

之后的所有内容

数据:

x <- c(
    "Williamsport, Pennsylvania !Williamsport, Pennsylvania", 
    "El Cajon, California !El Cajon, California", 
    "Gary, Indiana !Gary, Indiana", 
    "New York City", 
    "Bowie, Maryland"
)

答案 1 :(得分:0)

也许:

sub( "(.*)(\\ \\!.*)", "\\1", txtvec)

正如评论中所建议的那样,这可能与“!”的第一个实例不匹配,但如果这是一个问题,则会有更具体的模式。