2017-11-14 1 views
0

Nehmen wir an, ich habe eine Zeichenfolge, die "45216 Walnut Avenue Mary's Bake Shop" lautet. Ich möchte alles nach dem Wort Avenue entfernen, aber ich möchte Avenue bleiben. Wie funktioniert das?Entfernen Sie alles nach einem Zeichen, aber behalten Sie das Zeichen

Ich habe folgende ohne Glück versucht:

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

[1] "45216 Walnut " 
+0

fragen Sie sich, wenn r regex eine nega hat Blick hinter sich? – stealththeninja

+4

Verwende 'a <- gsub (" Avenue. * $ "," Avenue ", a)' – Freguglia

+2

oder 'gsub (" (? <= Avenue). * $ "," ", A, perl = TRUE)' – rawr

Antwort

1

Wahrscheinlich der direkteste Weg, dies zu tun durch die Erfassung "Avenue" mit () sein würde und dann alles Abhacken, das nach dem es erscheint:

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

Sie erhalten:

## [1] "45216 Walnut Avenue" 
Verwandte Themen