gpt4 book ai didi

regex - 使用 R 查找字符串中的重复模式

转载 作者:行者123 更新时间:2023-12-02 08:17:33 25 4
gpt4 key购买 nike

我有一个很大的文本,其中包含以下表达式:"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"`

但是

 str <- "that was aaaahahahahaha a good joke"
gsub('(.+?)\\1', '', str)
#[1] "that was aaaahahahahaha a good joke"

这个问题可能与此相关:find repeated pattern in python ,但我找不到 R 中的等价物。

我假设非常简单,也许我错过了一些微不足道的东西,但由于正则表达式不是我的强项,而且我已经尝试了很多没有用的东西,我想知道是否有人可以帮助我。问题是:如何在 R 中查找并替换字符串中的重复模式?

预先感谢您的宝贵时间。

最佳答案

\b(\S+?)\1\S*\b

使用这个。查看演示。

https://regex101.com/r/sJ9gM7/46

对于 r 使用 \\b(\\S+?)\\1\\S*\\bperl=TRUE选项。

关于regex - 使用 R 查找字符串中的重复模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29438282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com