【发布时间】:2021-08-31 13:32:03
【问题描述】:
我将不胜感激有关如何以映射指定的方式重新映射字符串中的字母的建议。
假设,例如,我想将所有 As 更改为 Bs,将所有 Bs 更改为 Ds,并将所有 Ds 更改为 Fs。如果我这样做,它不会做我想要的,因为它会连续应用转换:
"abc" %>% str_replace_all(c(a = "b", b = "d", d = "f"))
这是我可以做我想做的事的一种方式,但感觉有点笨拙。
f <- function (str) str_c( c(a = "b", b = "d", c = "c", d = "f") %>% .[ strsplit(str, "")[[1]] ], collapse = "" )
"abc" %>% map_chr(f)
我们将不胜感激更好的想法。
詹姆斯。
附:忘记指定了。有时我想用多个字母替换一个字母,例如,将所有 As 替换为字符串 ZZZ。
P.P.S.理想情况下,这也可以处理字符串向量,例如 c("abc", "gersgaesg", etc.)
【问题讨论】:
标签: r list str-replace remap