删除字符后的所有内容,但保留字符

Jen*_*ain 5 regex r

假设我有一个字符串,读取"45216 Walnut Avenue Mary's Bake Shop". 我想删除单词之后的所有内容Avenue,但我希望保留大道。这是如何运作的?

我试过以下没有运气:

a <- "45216 Walnut Avenue Mary's Bake Shop"
a <- gsub("Avenue.*$", "", a)

[1] "45216 Walnut "
Run Code Online (Sandbox Code Playgroud)

lef*_*fft 12

可能最直接的方法是捕获"Avenue"with()然后砍掉它后面出现的所有内容:

a <- "45216 Walnut Avenue Mary's Bake Shop"
gsub("(Avenue).*", "\\1", a)
Run Code Online (Sandbox Code Playgroud)

你会得到:

## [1] "45216 Walnut Avenue"
Run Code Online (Sandbox Code Playgroud)