【问题标题】:replace multiple values in a string替换字符串中的多个值
【发布时间】:2018-02-21 21:24:41
【问题描述】:

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

假设我有:

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)

【问题讨论】:

  • str_replace_all(string = string,pattern = "[1234]",replacement = "0")...?
  • 太棒了。这就是诀窍。想要将其作为答案,以便我可以将其标记为已被其他人接受?
  • 如果你不想不必要地添加库,在base中也很容易做到gsub("[1-4]","0",string)

标签: r stringr


【解决方案1】:

一个简单的选项是chartr

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

【讨论】:

    猜你喜欢
    • 2020-12-04
    • 2021-03-28
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    • 2016-09-10
    • 1970-01-01
    • 2020-08-31
    相关资源
    最近更新 更多