快捷搜索: 王者荣耀 脱发

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 ! 
经验分享 程序员 微信小程序 职场和发展