在一列中查找字符模式,如果它返回一个匹配项,则将匹配的字符串以及每行几行添加到新列中

我在R中有一个表,我想使用grep查询并将所有匹配项和周围的100个左右字符返回到新列。 我从以前的问题中看过其他解决方案,但无法解决任何问题。

ttqqcw 回答:在一列中查找字符模式,如果它返回一个匹配项,则将匹配的字符串以及每行几行添加到新列中

这很容易用正则表达式完成

library("stringi")
data = data.frame(strings = c('abcXdef','abcYdef','pgrXstu','Xyz'))
data$match = stri_match_first_regex(data$strings,pattern = ".{0,1}X.{0,2}")[,1]

请注意,他的示例假定每个字符串仅出现一次模式(此示例中的模式为“ X”)。 match列将包含第一个匹配项,之前最多1个字符,之后最多2个字符。

本文链接:https://www.f2er.com/3102082.html

大家都在问