gpt4 book ai didi

在 R 中的一个 gsub() 或 chartr() 语句中替换多个字符串?

转载 作者:行者123 更新时间:2023-12-03 07:30:59 24 4
gpt4 key购买 nike

我有一个包含字母 [a-z]、空格 [] 和撇号 ['] 的字符串变量,例如。 x <- "a'b c"我想用空白[]替换撇号['],用下划线[_]替换空格[]。

x <- gsub("'", "", x)
x <- gsub(" ", "_", x)

它绝对有效,但是当我有很多条件时,代码变得丑陋。因此,我想使用 chartr() ,但是 chartr()无法处理空白,例如。
x <- chartr("' ", "_", x) 
#Error in chartr("' ", "_", "a'b c") : 'old' is longer than 'new'

有没有办法解决这个问题?谢谢!

最佳答案

您可以使用 gsubfn

library(gsubfn)
gsubfn(".", list("'" = "", " " = "_"), x)
# [1] "ab_c"

同样,我们也可以使用 mgsub这允许使用多个模式进行多次替换以进行搜索
mgsub::mgsub(x, c("'", " "), c("", "_"))
#[1] "ab_c"

关于在 R 中的一个 gsub() 或 chartr() 语句中替换多个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33949945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com