我通过以下代码实现它,但我不知道是否有一种更有效的方法从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;
}
Run Code Online (Sandbox Code Playgroud)
Kei*_*all 10
您不应该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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10920 次 |
| 最近记录: |