abe*_*out 2 java string replace
我需要编写一个静态方法,它接受一个String参数并返回一个新的String,它通过用该字母的单个实例替换重复的相邻字母的每个实例而不使用正则表达式.例如,如果我输入"maaaakkee"作为a 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;
}
}
Run Code Online (Sandbox Code Playgroud)
Men*_*ena 41
你可以使用正则表达式.
例如:
String input = "ddooooonnneeeeee";
System.out.println(input.replaceAll("(.)\\1{1,}", "$1"));
Run Code Online (Sandbox Code Playgroud)
输出:
done
Run Code Online (Sandbox Code Playgroud)
模式说明:
"(.)\\1{1,}" 表示任何字符(添加到组1),后跟自身至少一次"$1" 引用第1组的内容| 归档时间: |
|
| 查看次数: |
44313 次 |
| 最近记录: |