4.7 字符串替换

chartr 支持正则表达式的替换,chartr 是对应字符的替换操作

x <- "MiXeD cAsE 123"
# 将字符 iXs 替换为 why
chartr("iXs", "why", x)
## [1] "MwheD cAyE 123"
# 将字符串 a-cX 中的字符挨个对应地替换为 D-Fw
chartr("a-cX", "D-Fw", x)
## [1] "MiweD FAsE 123"

两个 *sub 函数的区别:sub 替换第一次匹配到的结果,gsub 替换所有匹配的结果

sub(" .*", "", extSoftVersion()["PCRE"])
##    PCRE 
## "10.39"

参数 replacement 的值是正则表达式,其包含反向引用的用法, \\1 即引用表达式 ([ab])

gsub(pattern =  "([ab])", replacement = "\\1_\\1_", x = "abc and ABC")
## [1] "a_a_b_b_c a_a_nd ABC"