我希望使用str_replace_all
来替换字符串中数字前的所有内容。
我下面的代码不起作用
require("stringr")
county <- c("ctr27", "sb03", "nst08", "nst25", "st15", "st26")
str_replace_all(county, "nst[^0-9.]|st[^0-9.]", "ami")
预期产量
"ctr27" "sb03" "ami08" "ami25" "ami15" "ami26"
答案 0 :(得分:1)
可以使用positive lookahead来实现:
str_replace_all(county, "nst|st(?=\\d+)", "ami")
# [1] "ctr27" "sb03" "ami08" "ami25" "ami15" "ami26"
答案 1 :(得分:1)
如示例显示单个替换实例,我们也可以使用str_replace
。此外,我们可以将数字捕获为一组并替换为反向引用
str_replace(county, "nst|st(\\d+)", "ami\\1")
#[1] "ctr27" "sb03" "ami08" "ami25" "ami15" "ami26"