我有一个来自 Edgar 的巨大文本文件。我只想从业务风险部分提取一部分文本。
例如,如果文本是这样的:
Bshehebvegegeveghdhebejejrjbfbfk
我想将开始位置提取为he
(第二个实例)结束位置ge
(第二个实例)。
所以我的输出将是 -
hebvegege
我想要 R 中的代码。我对业务风险部分特别感兴趣。
一种选择是gregexpr
找到模式'he'和'ge'的起始字符的索引,然后使用substr
指定字符串的start
和stop
位置来提取子字符串
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"