我使用substr()
和grep()
了解如何查找子字符串。我的问题是摆脱子串后面的一切。以下是我的数据集示例:
Williamsport, Pennsylvania !Williamsport, Pennsylvania
El Cajon, California !El Cajon, California
Gary, Indiana !Gary, Indiana
New York City
Bowie, Maryland
我想在“!”之后摆脱一切。
我可以使用ifelse()
,如果是这样的话?
答案 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)
正如评论中所建议的那样,这可能与“!”的第一个实例不匹配,但如果这是一个问题,则会有更具体的模式。