0

我有一个来自 Edgar 的巨大文本文件。我只想从业务风险部分提取一部分文本。

例如,如果文本是这样的:

Bshehebvegegeveghdhebejejrjbfbfk

我想将开始位置提取为he(第二个实例)结束位置ge(第二个实例)。

所以我的输出将是 - hebvegege

我想要 R 中的代码。我对业务风险部分特别感兴趣。

4

1 回答 1

0

一种选择是gregexpr找到模式'he'和'ge'的起始字符的索引,然后使用substr指定字符串的startstop位置来提取子字符串

i1 <- gregexpr("he", str1)[[1]][2]
i2 <- gregexpr("ge", str1)[[1]][2] +1
substr(str1, i1, i2)
#[1] "hebvegege"

或者一步到位

do.call(substr, c(str1, lapply(c("he", "(?<=g)e"), 
     function(pat) gregexpr(pat, str1, perl=TRUE)[[1]][2]) ))
#[1] "hebvegege"

数据

str1 <- "Bshehebvegegeveghdhebejejrjbfbfk"
于 2017-02-21T16:46:15.860 回答