gpt4 book ai didi

Javascript删除字符串中的重复字母和序列

转载 作者:行者123 更新时间:2023-11-29 16:15:48 25 4
gpt4 key购买 nike

类似的帖子很多,我也找到了一些解决方案,但都不是完美的。其中之一:

"aabbhahahahahahahahahahahasetsetset".replace(/[^\w\s]|(.+)\1+/gi, '$1')

结果是:

abhahahahahahaset

我要得到结果:

abhaset

如何做到这一点?

最佳答案

.+greedy .它需要尽可能多的。这是 ha 的一半,以便 \1 可以匹配后半部分。使重复变得不贪婪应该可以解决问题:

/[^\w\s]|(.+?)\1+/gi

顺便说一句,i 在这里没有任何改变。

去除嵌套重复(例如,将 aaBBaaBB 转换为 aB(通过 aaBBaBaB))只需多次运行替换,直到结果不再改变。

var pattern = /[^\w\s]|(.+?)\1+/g;

var output = "aaBBaaBB";
var input;

do
{
input = output;
output = input.replace(pattern, "$1");
} while (input != output)

我承认 output 的命名对于第一次重复来说有点尴尬,但是你知道......计算机科学中最困难的两个问题是缓存失效、命名事物和 off-by-一个错误。

关于Javascript删除字符串中的重复字母和序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16215478/

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