Java中如何修剪删除StringBuffer中的空格(空白)
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