我有一个很大的文本,其中包含以下表达式:"aaaahahahahaha that was a good joke".
处理后,我想要"aaaaahahahaha"
消失,或者至少将其更改为简单"ha"
.
目前,我正在使用这个:
gsub('(.+?)\\1', '', str)
当带有模式的字符串位于句子的开头而不是位于其他任何地方时,此方法有效。所以:
str <- "aaaahahahahaha that was a good joke"
gsub('(.+?)\\1', '', str)
#[1] "ha that was a good joke"`
But
str <- "that was aaaahahahahaha a good joke"
gsub('(.+?)\\1', '', str)
#[1] "that was aaaahahahahaha a good joke"
这个问题可能与此相关:在python中查找重复模式,但我找不到 R 中的等价物。
我假设非常简单,也许我错过了一些微不足道的东西,但由于正则表达式不是我的强项,而且我已经尝试了很多不起作用的事情,我想知道是否有人可以帮助我。问题是:如何在 R 中查找并替换字符串中的重复模式?
在此先感谢您的时间。
\b(\S+?)\1\S*\b
使用这个。查看演示。
https://regex101.com/r/sJ9gM7/46
For r
use \\b(\\S+?)\\1\\S*\\b
with perl=TRUE
option.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)