【发布时间】:2021-10-04 22:28:24
【问题描述】:
我有一个向量,其中充满了分隔有效字符的+ 符号。我需要删除重复的、连续的 + 符号,但保留用作分隔符的非连续 + 符号。
下面是一个示例数据集:
df <- data.frame(name = c(A="a+++a+b+c++++d+d+d"))
name
a+++a+b+c++++d+d+d
以下是所需的输出:
name
a+a+b+c+d+d+d
下面是我尝试用+ 替换重复的++ 符号的代码。
sub("++", "+", df$name)
当我尝试这个时,我得到以下错误:
Error in sub("++", "+", df$name) :
invalid regular expression '++', reason 'Invalid use of repetition operators'
In addition: Warning message:
In sub("++", "+", df$name) :
TRE pattern compilation error 'Invalid use of repetition operators'
【问题讨论】:
-
没有明确提及
+,但也许它可以让你继续前进:How can I remove repeated characters in a string with R?; “要包含除字母数字以外的其他字符,请将[[:alpha:]]替换为与您希望包含的任何内容匹配的正则表达式。”