Как я могу извлечь текстовый файл в R по другому условию? - PullRequest
0 голосов
/ 01 мая 2020

Мне нужна помощь для конкретного случая c. Наличие текстового файла, который выглядит следующим образом.

txt1 <-"**Start** Characters I need1 **Stop**. Characters which I don´t neeeeeeeeeeeed. **Starts** Characters I need2 **Stops**. Characters which I don´t neeeeed.
**Start** Character I need3 **Stop**. Characters which I don´t neeeeed." 

Я знаю, как использовать функцию grep только для одного случая. Но проблема в том, что он останавливается на первой остановке. Как я могу убедиться, что он работает до конца текста. Также обратите внимание на то, что паттерн не всегда запускается и останавливается, он также может быть как Старт и Останов. Может быть, grep не подходит для этого?

    start <- grep("Start", txt1)
    start

    end <- grep("Stop", txt1)
    end

    txt2 <- txt1[start:end]
    txt2

Желаемый результат для txt2:

Characters I need1 Characters I need2 Start Character I need3

Я не могу найти никакого решения для этого в R.

1 Ответ

0 голосов
/ 01 мая 2020

Это не очень хорошее решение, но вы можете попробовать

stops <- unlist(gregexpr("Stop", txt1))
starts <- unlist(gregexpr("Start", txt1))
txt2 <- character(0)

for (i in 1:length(starts)) {
  txt2 <- paste0(txt2,substr(txt1, starts[i]+5, stops[i]-1))
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...