【发布时间】:2023-02-07 23:59:39
【问题描述】:
有没有办法只在不重复或重复一定次数时才替换字符?
str = c("ddaabb", "daabb", "aaddbb", "aadbb")
gsub("d{1}", "c", str)
[1] "ccaabb" "caabb" "aaccbb" "aacbb"
#Expected output
[1] "ddaabb" "caabb" "aaddbb" "aacbb"
【问题讨论】:
有没有办法只在不重复或重复一定次数时才替换字符?
str = c("ddaabb", "daabb", "aaddbb", "aadbb")
gsub("d{1}", "c", str)
[1] "ccaabb" "caabb" "aaccbb" "aacbb"
#Expected output
[1] "ddaabb" "caabb" "aaddbb" "aacbb"
【问题讨论】:
您可以在正则表达式中使用否定环视来排除 d 之前或之后是另一个 d 的情况:
gsub("(?<!d)d(?!d)", "c", str, perl=TRUE)
【讨论】: