gpt4 book ai didi

java - 正则表达式替换重复的字符串模式

转载 作者:行者123 更新时间:2023-12-02 04:29:31 25 4
gpt4 key购买 nike

我需要用每个基本构造单元替换单词中的重复模式。例如我有字符串“TATATATA”,我想将其替换为“TA”。另外,我可能会替换 2 次以上的重复,以避免替换正常单词。

我正在尝试使用Java中的replaceAll方法来做到这一点。

最佳答案

我想你想要这个(适用于任何长度的重复字符串):

String result = source.replaceAll("(.+)\\1+", "$1")

或者,优先考虑较短的匹配:

String result = source.replaceAll("(.+?)\\1+", "$1")

它首先匹配一组字母,然后再次匹配(在匹配模式本身中使用反向引用)。我尝试了一下,似乎成功了。

<小时/>

示例

String source = "HEY HEY duuuuuuude what'''s up? Trololololo yeye .0.0.0";

System.out.println(source.replaceAll("(.+?)\\1+", "$1"));

// HEY dude what's up? Trolo ye .0

关于java - 正则表达式替换重复的字符串模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24008657/

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