我有一个从 Pubmed 检索到的 .XML 文件。现在,我想在文件的每一行中找到两个不同的“字符串/单词”如果找到“字符串/单词”然后想检索匹配的“字符串/单词”以及之前的“n”个字符以及赛后。
例如,如果要搜索的字符串是下一行中的'string',并且我想要匹配字符串前后10个字符。
“字符串的其余部分实际上非常有用”
我应该得到;
“文件的st是实际的”
最佳答案
你可以只“填充”你的正则表达式来告诉它抓取前后的 10 个字符
x <- "The rest of the string is actually really useful"
stringr::str_extract(x, ".{0,10}string.{0,10}")
# [1] "st of the string is actual"
.
代表任何字符,{0,10}
表示最多匹配 10 个字符(因此,如果您要捕获“rest”,则不会左边有 10 个完整的字符,它仍然会匹配)。
关于r grep 'n' 匹配前后的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48449812/