我是通过下面的代码实现的,但是我不知道是否有更有效的方法来从 StringBuilder 中删除所有空格
private static StringBuilder removeBlankSpace(StringBuilder sb){
for(int i=0;i<sb.length();++i){
if(Character.isWhitespace(sb.charAt(i))){
sb.deleteCharAt(i);
i--;
}
}
return sb;
}
最佳答案
您不应多次调用 delete
- 只需将每个字符向下移动到其最终位置,然后删除末尾的范围即可。
static void removeBlankSpace(StringBuilder sb) {
int j = 0;
for(int i = 0; i < sb.length; i++) {
if (!Character.isWhitespace(sb.charAt(i))) {
sb.setCharAt(j++, sb.charAt(i));
}
}
sb.delete(j, sb.length);
}
关于java:从 StringBuilder 中删除所有空格的最有效方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10275461/