如果前两个字符与模式匹配,则替换完整字符串

时间:2017-08-25 02:32:28

标签: r regex string

如果两个字符匹配,我试图替换完整的字符串.Below是我在R中使用的代码

    print(user_str)

然而,它只替换了找到ar的部分并给出了以下输出

st <- "arzo"
ret <- gsub("^ar","honor8",st)

如果两个字符匹配,有没有办法替换完整的字符串

3 个答案:

答案 0 :(得分:2)

只需添加.*即可替换整个字符串:

ret <- gsub("^ar.*","honor8",st)

答案 1 :(得分:1)

我们可以使用grepl来检测目标字符串的存在,然后替换它们。我向foo添加了两个字符串(barst),以表明只有满足条件(^ar)时,此方法才会替换完整字符串。 ret是替换的结果。

st <- c("arzo", "foo", "bar")

ret <- st
ret[grepl("^ar", ret)] <- "honor8" 
ret
[1] "honor8" "foo"    "bar"

答案 2 :(得分:0)

使用grep,在1行

st <- c("aaaa", "arzo", "bbb")
st[grep("^ar",st)] <- "honor8"
st