如何在Java中删除String中的空白

时间:2015-03-20 12:49:09

标签: java trim

这是我的代码:

package test;

public class Stringtest {
public static void main(String[] args) {
    String a = "     love   y  ou    !!    ";
    String b = a.trim();
    b.replaceAll("\\s+","");
    System.out.println(b);
}
}

但结果仍然是:"爱你ou !!"。它只是删除字符串开头和结尾的空格。我做错了吗?

4 个答案:

答案 0 :(得分:4)

字符串是不可变的,这意味着您无法更改它们。这就是为什么replaceAll不会影响原始字符串的原因,而是创建一个新的替换值,您需要将其存储在某处,甚至可能在原始引用中。

请尝试使用

b = b.replaceAll("\\s+", "");

答案 1 :(得分:2)

String的

replaceAll方法将在删除所有空格后返回字符串,并且因为String是不可变的,所以将replaceAll的结果返回给b,如:

b = b.replaceAll("\\s+","");//Note you dont need to trim if you want to replace every spaces.

答案 2 :(得分:0)

运行以下内容,您将了解自己的所作所为。

System.out.println(b.replaceAll("\\s+",""));

string.replace()返回替换后的字符串

答案 3 :(得分:0)

您忘记存储从replaceAll方法返回的子字符串。

b = b.replaceAll("\\s+","");