R中等效的egrep -o“。{0,4} TEST。{0,8}”

时间:2017-09-19 14:54:10

标签: r

在bash中,搜索字符串并抓取x之前或之后的字符非常简单。

例如: 创建简单的字符串并将其存储在文件中:

echo "AADfjalksdjfalskdfj 20 TEST Afasdlkfjasdf 50" > string.txt
egrep -o ".{0,4}TEST.{0,8}" string.txt 

返回:

 20 TEST Afasdlk

关于如何在R中执行此操作的任何想法?我似乎无法得到grep或grepl来表现。

感谢。

1 个答案:

答案 0 :(得分:2)

您可以在R中使用regexpr()regmatches()来执行此操作

str<- "AADfjalksdjfalskdfj 20 TEST Afasdlkfjasdf 50"
regmatches(str, regexpr(".{0,4}TEST.{0,8}", str))
# [1] " 20 TEST Afasdlk"