如何从字符串中删除字符?
|
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();
}
我在这里找到了上面的代码。
两个问题:
为什么我们需要做setLength()?没有它,我得到java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:0
当我使用参数“ teeter”和“ e”运行该程序时,将会出现\'ttr \'和三个垃圾字符。如何删除缓冲区中未使用的空格?
没有找到相关结果
已邀请:
8 个回复
甲车劲
丧泉缝锋
,因为字符串缓冲区中没有字符。请参阅有关StringBuffer#setLength的Javadocs。 因此,在方法结尾处,字符串缓冲区具有:3 2-当我使用以下命令运行该程序时,\'ttr \'和三个垃圾字符即将到来 参数-\“跷跷板\”和\“ e \”。如何 删除中未使用的空格 缓冲? 您可以通过调用
或
删除空字符。
爆山
先对冈蒲
降女陷费券
现在,您将不会获得StringIndexOutOfBoundsException。 顺便说一句,在单线程环境中,您应该真正使用StringBuilder。
箩冀娥
为陡土
久坡
类中有很多方法。其中之一是replaceAll()方法。 例如,
输出量
有关字符串类的更多信息,请参见以下资源以获得解释和示例, 字符串replaceAll 字符串替换所有示例