Regex 使用gsub删除多个逗号和尾随逗号

Regex 使用gsub删除多个逗号和尾随逗号,regex,r,gsub,Regex,R,Gsub,这个问题与非常类似,只是我想将它应用于逗号而不是空格 例如,我想要一个函数TrimCommas将x转换为y: x <- c("a,b,c", ",a,b,,c", ",,,a,,,b,c,,,") # y <- TrimCommas(x) # presumably y <- c("a,b,c", "a,b,c", "a,b,c") x解决方案不是很相似吗 x <- c("a,b,c", ",a,b,,c", ",,,a,,,b,c,,,") gsub("^,*|(?&l

这个问题与非常类似,只是我想将它应用于逗号而不是空格

例如,我想要一个函数
TrimCommas
x
转换为
y

x <- c("a,b,c", ",a,b,,c", ",,,a,,,b,c,,,")
# y <- TrimCommas(x) # presumably
y <- c("a,b,c", "a,b,c", "a,b,c")

x解决方案不是很相似吗

x <- c("a,b,c", ",a,b,,c", ",,,a,,,b,c,,,")
gsub("^,*|(?<=,),|,*$", "", x, perl=T)
# [1] "a,b,c" "a,b,c" "a,b,c"

+1.我只是想知道,如果我必须要用“1”来替换积极的后视部分,我该怎么做???@Shambho你能给出输入和输出示例吗?输入:
x@Shambho这是一个完全不同的示例。你能代替吗?谢谢,@devnull,特别是对这三个组成部分的解释。
TrimMult <- function(x, char=" ") {
  return(gsub(paste0("^", char, "*|(?<=", char, ")", char, "|", char, "*$"),
              "", x, perl=T))
}