stringr str_replace是否有多个模式和替换?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stringr str_replace是否有多个模式和替换?相关的知识,希望对你有一定的参考价值。
我尝试过
> str_replace("abcdef", c("b", "d"), c(b="B", d="D"))
[1] "aBcdef" "abcDef"
希望
[1] "aBcDef"
我们如何通过对stringr::str_replace
的一个函数调用将每个模式替换为特定的替换?
答案
我会把它放在管道中
str_replace('abcdef', 'b', 'B') %>% str_replace(., 'd', 'D')
另一答案
此匹配每个字符,如果等于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"
以上是关于stringr str_replace是否有多个模式和替换?的主要内容,如果未能解决你的问题,请参考以下文章
R语言stringr包str_extract函数检查数据是否包含特定模式实战
同一个 mutate() 中的多个 str_replace 函数