这里Replace multiple strings in one gsub() or chartr() statement in R?解释为用gsubfn()
在一个语句中替换一个字符处的多个字符串。例如:
x <- "doremi g-k"
gsubfn(".", list("-" = "_", " " = ""), x)
# "doremig_k"
但是我想在示例中将字符串'doremi'替换为'。这不起作用:
x <- "doremi g-k"
gsubfn(".", list("-" = "_", "doremi" = ""), x)
# "doremi g_k"
我想是因为字符串'doremi'包含多个字符,我却使用了.
中的元字符gsubfn
。我不知道该用什么替换它-我必须承认,我发现有时很难理解使用元字符。因此,有没有办法让我立即替换“-”和“ doremi”?
答案 0 :(得分:4)
您也许可以在这里仅使用基数R var announcementDescription : String?
:
sub
答案 1 :(得分:3)
这对您有用吗?
gsubfn::gsubfn(pattern = "doremi|-", list("-" = "_", "doremi" = ""), x)
[1] " g_k"
关键在于此搜索:"doremi|-"
,它指示搜索"doremi"
或"-"
。将"|"
用作or
运算符。
答案 2 :(得分:3)
只是@RLave解决方案的通用解决方案-
toreplace <- list("-" = "_", "doremi" = "")
gsubfn(paste(names(toreplace),collapse="|"), toreplace, x)
[1] " g_k"