我可以使用以下代码
将我的输入ex
与向量str
匹配
这里" exp"与str
str <- c("Regular", "expression", "examples of R language")
x <- grep("exp",str,value=F)
但相反,我想匹配&#34;表达&#34;像这样的str
输入是&#34;表达&#34;它应匹配str&#34; exp&#34;在下面的例子中
str <- c("Regular", "exp", "examples of R language")`
x <- grep("expression",str,value=F)
x
#exp
我的x =&#34;表达&#34;应该与str&#34; exp&#34;匹配,结果应该给出&#34; exp&#34;
有没有办法实现这个目标?
答案 0 :(得分:1)
我们需要提取子字符串。在base R
中,可以使用regexpr/regmatches
regmatches(str, regexpr("exp", str))
#[1] "exp"
或使用stringr/stringi
library(stringr)
na.omit(str_extract(str, 'exp'))
#[1] "exp"
使用grep
我们可以找到是否存在部分匹配。它返回元素的数字索引或逻辑向量(使用grepl
)。使用value = TRUE
,它返回匹配的元素而不是部分子字符串