gpt4 book ai didi

java - 去除字符串中的重复字符

转载 作者:行者123 更新时间:2023-11-29 09:48:00 26 4
gpt4 key购买 nike

我有这样的字符串“aaaabbbccccaaddddcfggghhhh”,我想删除重复的字符得到这样的字符串“abcadcfgh”。

一个简单的实现是:

for(Character c:str.toCharArray()){
if(c!=prevChar){
str2.append(c);
prevChar=c;
}

}

return str2.toString();

是否有可能使用正则表达式实现更好的实现?

最佳答案

你可以这样做:

"aaaabbbccccaaddddcfggghhhh".replaceAll("(.)\\1+","$1");

正则表达式使用反向引用和捕获组。

正常的正则表达式是 (.)\1+ 但你必须用 java 中的另一个反斜杠来转义反斜杠。

如果你想要重复字符的数量:

String test = "aaaabbbccccaaddddcfggghhhh";
System.out.println(test.length() - test.replaceAll("(.)\\1+","$1").length());

Demo

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

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