Java中如何修剪删除StringBuffer中的空格(空白)

阅读 604 收藏 0 点赞 0 评论 0

Java.lang包的String类表示一组字符。 Java程序中的所有字符串文字(如“abc”)都实现为该类的实例。 String对象是不可变的,一旦您创建了String对象,您就不能更改它们的值,如果您尝试这样做而不是更改值,则会创建一个具有所需值的新对象,并且引用将转移到新创建的对象,而不使用前一个对象。

如果需要对String进行大量修改,则使用StringBuffer(和StringBuilder)类。

与Strings不同,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("字符串缓冲区的内容: "+buffer);
   }
}

输出结果

字符串缓冲区的内容: Hello how are you

修剪删除空白(空格)

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

String类的trim()方法最初会复制当前String,删除其前导和尾随空格并返回它。

删除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("字符串缓冲区的内容: "+buffer);
      //将StringBuffer转换为String
      String str = buffer.toString();
      //删除前导和尾随空格
      System.out.println(str.trim());
   }
}

输出结果

字符串缓冲区的内容: Hello how are you

如果您想从StringBuffer中完全删除空格,一种方法是-

  • 从中删除前导零和尾随零。

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

  • String类的split()方法接受一个定界符(采用String格式),将给定的字符串拆分为一个String数组(基于给定的定界符)。

    使用此方法拆分在上一步中获得的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("字符串缓冲区的内容: "+buffer);
      //将StringBuffer转换为String
      String str = buffer.toString();
      //删除前导空格和尾随空格
      str = str.trim();
      //Splitting the String
      String array[] = str.split(" ");
      //将每个值追加到缓冲区
      StringBuffer result = new StringBuffer();
      for(int i=0; i<array.length; i++) {
         result.append(array[i]);
      }
      System.out.println("Result: "+result);
   }
}

输出结果

字符串缓冲区的内容: Hello how are you
Result: Hellohowareyou

评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号