Это соответствует каждому символу, и если оно равняется b
, оно заменяет его на B
, если оно равняется d
, оно заменяет его на D
, а в противном случае оставляет его как есть.
library(gsubfn)
gsubfn(".", list(b="B", d="D"), "abcdef")
## [1] "aBcDef"
Это также работает:
gsubfn("[bd]", list(b="B", d="D"), "abcdef")
## [1] "aBcDef"
gsubfn("[bd]", toupper, "abcdef")
## [1] "aBcDef"
# only needs base R
chartr("bd", "BD", "abcdef")
## [1] "aBcDef"