如何删除R中的多个连续特殊字符?
如何更改以下字符串,使其在R中不包含多个连续的问号/其他特殊字符如何删除R中的多个连续特殊字符?,r,regex,special-characters,R,Regex,Special Characters,如何更改以下字符串,使其在R中不包含多个连续的问号/其他特殊字符 "Nice one!!!" 应该成为 "Nice one!" "Whazzup?!" 及 应该成为 "Nice one!" "Whazzup?!" 我尝试了多个regex命令,但没有成功。显然,我可以用一个问号替换两个问号,但我希望它独立于特殊字符的数量 这与标记的副本不同,因为它处理特殊字符。我们可以使用gsub gsub("([[:punct:]])\\1+", "\\1", str1) #[1] "Nice one
"Nice one!!!"
应该成为
"Nice one!"
"Whazzup?!"
及
应该成为
"Nice one!"
"Whazzup?!"
我尝试了多个regex命令,但没有成功。显然,我可以用一个问号替换两个问号,但我希望它独立于特殊字符的数量
这与标记的副本不同,因为它处理特殊字符。我们可以使用
gsub
gsub("([[:punct:]])\\1+", "\\1", str1)
#[1] "Nice one!" "Whazzup?!"
数据
str1我们可以使用gsub
gsub("([[:punct:]])\\1+", "\\1", str1)
#[1] "Nice one!" "Whazzup?!"
数据
str1一个简单而直接的解决方案是对标点符号regex使用gsub:
x <- "Whazzup????!!"
gsub('([[:punct:]])\\1+', '\\1', x)
[1] "Whazzup?!"
x一个简单而直接的解决方案是对标点符号regex使用gsub:
x <- "Whazzup????!!"
gsub('([[:punct:]])\\1+', '\\1', x)
[1] "Whazzup?!"
x上述解决方案不适用于特殊字符?我刚学到我需要使用[[:punct:]来代替。上面的解决方案不适用于特殊字符?我刚刚学会了我需要使用[[:punct:]来代替。谢谢你就像一个咒语一样有效。谢谢你就像一个咒语一样有效。我想这是因为JonGrub早些时候发布了相同的解决方案。无论如何谢谢你!是的,的确如此。我对你的帖子投了更高的票,因为我猜你是在同一时间打字的。还请注意,这是如何被错误地标记为重复的-u-抱歉更正了它:)@akrun我有点困惑,你的显示是旧的。当我发布我的时,这里没有其他东西。也许我不会刷新,但我从中获取了答案,并在正则表达式中查找标点符号。没有比平常更多的复制和粘贴…我想这是因为JonGrub更早发布了相同的解决方案。无论如何谢谢你!是的,的确如此。我对你的帖子投了更高的票,因为我猜你是在同一时间打字的。还请注意,这是如何被错误地标记为重复的-u-抱歉更正了它:)@akrun我有点困惑,你的显示是旧的。当我发布我的时,这里没有其他东西。也许我不会刷新,但我从中获取了答案,并在正则表达式中查找标点符号。没有比平常更多的复制和粘贴。。。