Como gsub no texto entre duas palavras em R?
EDITAR:
Eu gostaria de colocar um\n
antes de uma palavra desconhecida específica no meu texto. Eu sei que a primeira vez que a palavra desconhecida aparecer no meu texto será entre "Árvore" e "Lago"
Ex. de texto:
text
[1] "TreeRULakeSunWater"
[2] "A B C D"
EDITAR:
"Tree" e "Lake" nunca mudam, mas a palavra entre eles está sempre mudando, portanto, não procuro "RU" no meuregex
O que estou fazendo atualmente:
if (grepl(".*Tree\\s*|Lake.*", text)) { text <- gsub(".*Tree\\s*|Lake.*", "\n\\1", text)}
O problema com o que estou fazendo acima é que ogsub
vai sub todostext
e deixe apenas\nRU
.
text
[1] "\nRU"
Eu também tentei:
if (grepl(".*Tree *(.*?) *Lake.*", text)) { text <- gsub(".*Tree *(.*?) *Lake.*", "\n\\1", text)}
O que eu gostariatext
parecer depoisgsub
:
text
[1] "Tree \nRU LakeSunWater"
[2] "A B C D"
EDITAR:
No comentário de Wiktor Stribizew, sou capaz de fazer umgsub
gsub("Tree(\\w+)Lake", "Tree \n\\1 Lake", text)
Mas isso só fará um gsub nas ocorrências em que "RU" está entre "Árvore e" Lago ", que é a primeira ocorrência da palavra desconhecida.A palavra desconhecida e, neste caso," RU "aparecerão muitas vezes no texto e gostaria de colocar\n
na frente de cada ocorrência de "RU" quando "RU" é uma palavra inteira.
Novo Ex. de texto.
text
[1] "TreeRULakeSunWater"
[2] "A B C RU D"
Novo Ex. do que eu gostaria:
text
[1] "Tree \nRU LakeSunWater"
[2] "A B C \nRU D"
Qualquer ajuda será apreciada. Informe-me se mais informações forem necessárias.