Ich habe einen Datenrahmen mit einer Spalte auftritt, wobei jede Zeile unter Teil einer SQL-Anweisung SELECT zum Beispiel repräsentiert:Ändern ein Muster, das mehrfach in einer Zeichenkette in R
test <-
bind_rows(
data.frame(text = "spend_1 + spend_2", stringsAsFactors = FALSE),
data.frame(text = "spend_1 + spend_2 + spend_3", stringsAsFactors = FALSE),
data.frame(text = "spend_2 - spend_3", stringsAsFactors = FALSE)
)
print(test)
Source: local data frame [3 x 1]
text
(chr)
1 spend_1 + spend_2
2 spend_1 + spend_2 + spend_3
3 spend_2 - spend_3
Ich mag würde, Fügen Sie für jede Instanz von \w+
den Tabellenalias der Variablen hinzu. Zum Beispiel:
text text_adj
1 spend_1 + spend_2 a.spend_1 + a.spend_2
2 spend_1 + spend_2 + spend_3 a.spend_1 + a.spend_2 + a.spend_3
3 spend_2 - spend_3 a.spend_2 - a.spend_3
str_replace
Verwendung Ich kann jede Variable mit „etwas Text“ ersetzen, aber ich kann nicht herausfinden, wie kann ich dann jede Instanz mit dem Alias ersetzen + ursprünglichem variablen Text
library(stringr)
str_replace_all(text, "\\w+", "some text")