gpt4 book ai didi

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

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

我需要编写一个静态方法,该方法采用String作为参数,并返回一个新的String,该新的String是通过将重复的相邻字母的每个实例替换为单个实例而获得的该字母不使用正则表达式。例如,如果我输入“maaaakkee”作为String,它将返回“make”。我已经尝试过以下代码,但它似乎没有显示最后一个字符。这是我的代码:

import java.util.Scanner;
public class undouble {
public static void main(String [] args){
Scanner console = new Scanner(System.in);
System.out.println("enter String: ");
String str = console.nextLine();
System.out.println(removeSpaces(str));
}
public static String removeSpaces(String str){
String ourString="";
int j = 0;
for (int i=0; i<str.length()-1 ; i++){
j = i+1;
if(str.charAt(i)!=str.charAt(j)){
ourString+=str.charAt(i);
}

}

return ourString;
}
}

最佳答案

您可以使用正则表达式来实现这一点。

例如:

String input = "ddooooonnneeeeee";
System.out.println(input.replaceAll("(.)\\1{1,}", "$1"));

输出:

done

模式解释:

  • “(.)\\1{1,}” 表示任何字符(添加到组 1)后跟其自身至少一次
  • “$1”引用组1的内容

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

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