如何在 Java 中修剪 StringBuffer 中的空格?


Java 的 String 类(java.lang 包的一部分)表示一组字符。Java 程序中的所有字符串字面量,例如“abc”,都作为此类的实例实现。字符串对象是不可变的,一旦创建了字符串对象,就无法更改其值。如果尝试这样做,则不会更改值,而是会创建一个具有所需值的新对象,并且引用会转移到新创建的对象,留下先前未使用的对象。

当需要对字符串进行大量修改时,可以使用 StringBuffer(和 StringBuilder)类。

与字符串不同,StringBuffer 类型的对象可以反复修改,而不会留下大量新的未使用的对象。它是一个线程安全的、可变的字符序列。

示例

 在线演示

public class StringBufferExample {
   public static void main(String[] args) {
      StringBuffer buffer = new StringBuffer();
      buffer.append("Hello ");
      buffer.append("how ");
      buffer.append("are ");
      buffer.append("you");
      System.out.println("Contents of the string buffer: "+buffer);
   }
}

输出

Contents of the string buffer: Hello how are you

修剪空格

StringBuffer() 没有提供任何方法来删除其内容之间的空格。

String 类的 trim() 方法首先复制当前字符串,删除其开头和结尾的空格,然后返回它。

要在 StringBuffer 中删除开头和结尾的空格 -

  • 您需要使用 toString() 方法将 StringBuffer 对象转换为 String 对象。

  • 对结果调用 trim() 方法。

示例

 在线演示

public class StringBufferCapacity {
   public static void main(String[] args) {
      StringBuffer buffer = new StringBuffer();
      buffer.append(" Hello ");
      buffer.append("how ");
      buffer.append("are ");
      buffer.append("you ");
      System.out.println("Contents of the string buffer: "+buffer);
      //Converting StringBuffer to String
      String str = buffer.toString();
      //Removing the leading and trailing spaces
      System.out.println(str.trim());
   }
}

输出

Contents of the string buffer: Hello how are you

如果要完全删除 StringBuffer 中的空格,一种方法是 -

  • 删除其开头和结尾的零。

  • 使用 toString() 方法将 StringBuffer 对象转换为 String 值。

  • String 类的 split() 方法接受分隔符(以 String 格式),根据给定的分隔符将给定字符串拆分为字符串数组。

    使用此方法拆分上一步中获得的字符串。

  • 将数组中每个元素追加到另一个 StringBuffer。

示例

 在线演示

public class StringBufferCapacity {
   public static void main(String[] args) {
      StringBuffer buffer = new StringBuffer();
      buffer.append(" Hello ");
      buffer.append("how ");
      buffer.append("are ");
      buffer.append("you ");
      System.out.println("Contents of the string buffer: "+buffer);
      //Converting StringBuffer to String
      String str = buffer.toString();
      //Removing the leading and trailing spaces
      str = str.trim();
      //Splitting the String
      String array[] = str.split(" ");
      //Appending each value to a buffer
      StringBuffer result = new StringBuffer();
      for(int i=0; i<array.length; i++) {
         result.append(array[i]);
      }
      System.out.println("Result: "+result);
   }
}

输出

Contents of the string buffer: Hello how are you
Result: Hellohowareyou

更新于: 2019年9月10日

2K+ 次浏览

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告