java - 如何从字符串中删除一个字符?

标签 java string

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();
}

我找到了上面的代码 here .

两个问题:
  • 为什么我们需要做 setLength()?没有它我得到 java.lang.StringIndexOutOfBoundsException: String index out of range: 0
  • 当我使用参数“teeter”和“e”运行此程序时,会出现“ttr”和三个垃圾字符。如何删除缓冲区中未使用的空格?
  • 最佳答案

    为什么不直接使用replaceAll? java.lang.String.replaceAll

    关于java - 如何从字符串中删除一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6152967/

    相关文章:

    java - Apache Commons 压缩 : Opening . tar.gz

    java - 安全异常 : android. permission.INTERACT_ACROSS_USERS

    r - 如何在R中将一列拆分为多个(不相等)列

    regex - perl 解析格式错误的括号文本

    c# - C#判断字符串是否为数字

    java - Selenium - 登录并导航到不同页面

    java - ColdFusion Java 使用 AES 算法对同一字符串输出不同的编码

    c - C 中字符串数组的动态分配

    c++ - 从每一行向下收集前三个字符 - 字符串 C++

    java - 无法更新 Open NLP 模型