R 从字符串中删除重复的非实时字符

R 从字符串中删除重复的非实时字符,r,R,我在R中有一个字符串,带有几个非标点符号的重复字符(一个磅符号)。我试图消除磅符号“#”的重复性,但只保留一个来分隔字符串中的单词。单词之间的磅符号的数量是随机的,并不总是相同的 例如: String="##Hello####World#Happy#######New###Ye@r!" 转化为 String_New="#Hello#World#Happy#New#Ye@r!" gsub命令是否处理非标点符号?我们需要指定+即一个或多个要匹配的字符,并在替换中添加一个 以下是一种快速实现您所需

我在R中有一个字符串,带有几个非标点符号的重复字符(一个磅符号)。我试图消除磅符号“#”的重复性,但只保留一个来分隔字符串中的单词。单词之间的磅符号的数量是随机的,并不总是相同的

例如:

String="##Hello####World#Happy#######New###Ye@r!"
转化为

String_New="#Hello#World#Happy#New#Ye@r!"

gsub命令是否处理非标点符号?

我们需要指定
+
即一个或多个要匹配的字符,并在替换中添加一个


以下是一种快速实现您所需的方法:

a <- "##Hello####World#Happy#######New###Year"
b <- gsub('#######', '#', a)
b <- gsub('###', '#', b)
b <- gsub('##', '#', b)

a Try
gsub(“#+”,“#+”,String)
Hi,非常感谢您的回复。成功了!我们为什么要添加“+”号呢?我在Stackoverflow上发现了另一个例子,它也有“+”号,但包含了“1”和反斜杠“\\”。很难说什么时候包括哪些。以下是示例:gsub(“([:alpha:])\\1+”、“\\1”、“buenaaaaaaaaaaaaaaaa suerrrete”)@jessica它取决于OP希望获得的预期输出。根据此处的输入,只有
#
字符重复。假设如果您也重复了其他字符并希望更改,则必须相应地进行修改
a <- "##Hello####World#Happy#######New###Year"
b <- gsub('#######', '#', a)
b <- gsub('###', '#', b)
b <- gsub('##', '#', b)