<分区>
问题很明确。代码应使用 Java 且不使用正则表达式(如果有人没有注意到,这不是重复的,我正在寻求一种不使用正则表达式的方法)。
input: This is a string with more than one space between words.
output: This is a string with more than one space between words.
有比这样做更好的方法吗?
public static String delSpaces(String str){
StringBuilder sb = new StringBuilder(str);
ArrayList<Integer> spaceIndexes = new ArrayList<>();
for ( int i=0; i < sb.length(); i++ ){
if ( sb.charAt(i) == ' ' && sb.charAt(i-1) == ' '){
spaceIndexes.add(i);
}
}
for (int i = 0; i < spaceIndexes.size(); i++){
sb.deleteCharAt(spaceIndexes.get(i)-i);
}
return new String(sb.toString());
}