Wie gibst du den Text zwischen zwei Wörtern in R ein?

BEARBEITEN

Ich möchte ein @ platzier\n vor einem bestimmten unbekannten Wort in meinem Text. Ich weiß, dass das erste Mal, wenn das unbekannte Wort in meinem Text erscheint, zwischen "Baum" und "See" steht.

Ex. des Textes:

text
[1]  "TreeRULakeSunWater" 
[2]  "A B C D"

BEARBEITEN

"Tree" und "Lake" ändern sich nie, aber das Wort dazwischen ändert sich immer, sodass ich in meinem @ nicht nach "RU" suchregex

Was mache ich gerade:

if (grepl(".*Tree\\s*|Lake.*",  text)) { text <- gsub(".*Tree\\s*|Lake.*", "\n\\1", text)}

Das Problem mit dem, was ich oben mache, ist, dass dasgsub sub all vontext und lass einfach\nRU.

text
[1] "\nRU"

Ich habe auch versucht:

if (grepl(".*Tree *(.*?) *Lake.*",  text)) { text <- gsub(".*Tree *(.*?) *Lake.*", "\n\\1", text)}

Was ich möchtetext wie nach @ aussehgsub:

text
[1] "Tree \nRU LakeSunWater"
[2] "A B C D"

BEARBEITEN

Aus Wiktor Stribizews Kommentar kann ich ein erfolgreiches @ machgsub

gsub("Tree(\\w+)Lake", "Tree \n\\1 Lake", text)

Aber dies wird nur bei Vorkommen ausgeführt, bei denen "RU" zwischen "Tree" und "Lake" liegt, was das erste Vorkommen des unbekannten Wortes ist Text, und ich möchte @ platzier\n vor jedem Vorkommen von "RU", wenn "RU" ein ganzes Wort ist.

New Ex. von Text.

text
[1] "TreeRULakeSunWater"
[2] "A B C RU D"

New Ex. von was ich gerne hätte:

text
[1] "Tree \nRU LakeSunWater"
[2] "A B C \nRU D"

Jede Hilfe wird geschätzt. Bitte lassen Sie mich wissen, wenn weitere Informationen benötigt werden.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage