Java删除String空格
casual_clover 人气:0在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 ! '
附:替换大部分空白字符,不限于空格
String str = "Hello Genius! "; String str3 = str.replaceAll("\\s*",""); System.out.println(str3);
总结
加载全部内容