Java中删除String中空格的多种方法
在Java中,要实现删除String中的空格的方法有很多种,具体有:
1、 trim()
删除字符串开头和结尾的空格,Java 1版本引入的接口,这是开发人员最常用的方法。trim移除的空白字符指的是指ASCII值小于或等于32的任何字符(’ U+0020 ),其中包含了空格、换行、退格等字符。
String value = " Hellow world ! "; System.out.println("before: " + value + ""); String afterValue = value.trim(); System.out.println("after: " + afterValue + "");
结果为:
before: Hellow world ! after: Hellow world !
2、strip()
删除字符串开头和结尾的空格。与trim()功能基本相同,在Java 11版本上引入的接口,区别在于删除的是根据Unicode标准来标识的所有空格字符,除了ASCII中的字符以外,还是有很多其他的空白字符。
String value = " Hellow world ! "; System.out.println("before: " + value + ""); String afterValue = value.strip(); System.out.println("after: " + afterValue + "");
结果为:
before: Hellow world ! after: Hellow world !
3、stripLeading()
只删除字符串开头的空格
4、stripTrailing()
只删除字符串结尾的空格
5、replace()
用新字符替换所有目标字符,java 1.5中引入,replace方法和trim方法一样,只能替换掉ASCII中的空格字符;
String value = " Hellow world !"; System.out.println("before:" + value + ""); String afterValue = value.replace(" ", ""); System.out.println("after:" + afterValue + "");
结果为:
before: Hellow world ! after:Hellowworld!
6、replaceAll()
将所有匹配的字符替换为新字符。Java 1.4中引入,此方法将正则表达式作为输入,以标识需要替换的目标子字符串。相关删除空格的正则表达式如下:
s+ 所有的空白字符 ^s+ 字符串开头的所有空白字符 s+$ 字符串结尾的所有空白字符
测试代码:
String value = " Hellow world !"; System.out.println("before:" + value + ""); String afterValue = value.replaceAll("\s+", ""); System.out.println("after:" + afterValue + "");
结果:
before: Hellow world ! after:Hellowworld!
7、replaceFirst()
仅将目标子字符串的第一次出现的字符替换为新的字符串, Java 1.4中引入,
注意: 无论采用哪种方法删除String中的空格,都需要另外定义一个String进行结果赋值,因为这些方法不会改变原有String的值。
String value = " Hellow world !"; System.out.println("before:" + value + ""); value.replace(" ", "");//正确方法: String after = value.replace(" ", ""); System.out.println("after:" +Value + "");
结果未发生变化:
before: Hellow world ! after: Hellow world !