Замена текста с помощью gsub R - PullRequest
1 голос
/ 12 марта 2019

Я хочу заменить части текста. Предположительно, gsub будет делать это с помощью capabale.

Это пример вида текста:

text <- "[2017-12-29 18:24:52] Comentario añadido: SOME RANDOM TEXT I NEED ANALYZE 
[2017-12-29 18:24:52] Comentario añadido: OTHER RANDOM TEXT
[2017-12-29 19:24:52] Comentario añadido: BLA BLA BLA
[2017-12-29 20:24:52] Comentario añadido: BLA BLA BLA BLABLA BLA BLABLA BLA BLA
[2017-12-29 21:24:52] Comentario añadido: BLA BLA BLABLA BLA BLABLA BLA BLA
[2017-12-29 22:24:52] Comentario añadido: BLA BLA BLABLA BLA BLA"

это желаемый результат:

"   | SOME RANDOM TEXT I NEED ANALYZE 
    | OTHER RANDOM TEXT
    | BLA BLA BLA
    | BLA BLA BLA BLABLA BLA BLABLA BLA BLA
    | BLA BLA BLABLA BLA BLABLA BLA BLA
    | BLA BLA BLABLA BLA BLA"

идея состоит в том, чтобы заменить эту информацию, чтобы сэкономить место и выполнить другой анализ с меньшим количеством текста.

Это то, что я получаю с gsub:

gsub("\\[.*\\] Comentario añadido:", " ° ", text)
[1] " °  BLA BLA BLABLA BLA BLA"

Как я могу добиться, чтобы заменить все дела?

Спасибо за продвинутый

1 Ответ

2 голосов
/ 12 марта 2019

Вы можете сделать . несоответствующими символами новой строки:

gsub("(?n)\\[.*?] Comentario añadido:", " ° ", text)
      ^^^^

Я также советую использовать ленивую точку, .*?, на тот случай, если позже в строке будет больше ] символов. См. R демо онлайн .

Другое решение может быть

gsub("\\[[^][]*] Comentario añadido:", " ° ", text)

Здесь [^][]* соответствует нулю или более символов, отличных от ] и [.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...