替换字符串中的多个值

replace multiple values in a string

在字符串表达式中替换多个值的语法最简单的方法是什么?

假设我有:

string <- "1 2 3 4 5 6 7 8 9"

我想用“0”替换所有的 1、2、3 和 4。我可以使用 stringr::str_replace():

string %>% 
  str_replace("1", "0") %>% 
  str_replace("2", "0") %>% 
  str_replace("3", "0") %>% 
  str_replace("4", "0") 

进行这种操作的更好方法是什么?


编辑:

Joran 的回答:使用 str_replace_all()

str_replace_all(string = string,pattern = "[1234]",replacement = "0")

user2738526的回答:使用gsub()

gsub("[1-4]","0",string)

一个简单的选项是 chartr

chartr('1234', '0000', string)
#[1] "0 0 0 0 5 6 7 8 9"