public static String removeChar(String s, char c) {
StringBuffer r = new StringBuffer( s.length() );
r.setLength( s.length() );
int current = 0;
for (int i = 0; i < s.length(); i ++) {
char cur = s.charAt(i);
if (cur != c) r.setCharAt( current++, cur );
}
return r.toString();
}
Run Code Online (Sandbox Code Playgroud)
我在这里找到了上面的代码.
两个问题:
为什么我们需要做setLength()?没有它我得到java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:0
当我用参数 - "teeter"和"e"运行这个程序时,'ttr'和三个垃圾字符即将到来.如何删除缓冲区中未使用的空格?