【发布时间】:2014-12-21 08:11:43
【问题描述】:
问题很明确。代码应该是 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());
}
【问题讨论】:
标签: java string whitespace space