gpt4 book ai didi

java - 在字符串中查找重复模式

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:56:01 25 4
gpt4 key购买 nike

如何在字符串中找到重复的模式?例如,如果输入文件是

AAAAAAAAA
ABABAB
ABCAB
ABAb

它会输出:

A
AB
ABCAB
ABAb

最佳答案

如果你使用正则表达式,你只需要一行:

String repeated = str.replaceAll("(.+?)\\1+", "$1");

分解正则表达式 (.+?)\1:

  • (.+?) 表示“至少一个字符,但尽可能少,作为第 1 组捕获”
  • \1 表示“与第 1 组相同的字符”

下面是一些测试代码:

String[] strs = {"AAAAAAAAA", "ABABAB", "ABCAB", "ABAb"};
for (String str : strs) {
String repeated = str.replaceAll("(.+?)\\1+", "$1");
System.out.println(repeated);
}

输出:

A
AB
ABCAB
ABAb

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

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