首先必須聲明的是,trim()方法,雖然誰都知道,但這東西注意陷入去除所有空格的誤區,trim()隻能去除字元串前後的字元,對于中間的字元無法處理。
如果要去除所有空格,還是要使用replaceAll的方法,比如如下語句:
space.replaceAll("\\s", "");
利用正規表達式,\\s先找到所有的空格,再直接替換,
直接寫成如下的方式也是可以,但是好像在某些地方,非常神奇地會出現不給力的情況:
space.replaceAll(" ", "");
而如果要把多餘空格,清除成一個空格,則利用如下方式:
space.replaceAll("\\s+", " ");
後面的+表示如果遇到一個空格,則比對之後的所有東西,也就是比對1~X個空格,
當然:
space.replaceAll(" +", " ");
不過某些情況還是不給力的,在正規表達式中寫空格,還是寫成\\s,規範點好。
同時注意如果JavaEE程式設計的話,注意傳過來的是不是& nbsp;
綜上所述,比如如下程式:
public class clearSpace {
public static void main(String[] args) {
String space=" s ss s ";
System.out.println(space.trim());
System.out.println(space.replaceAll(" +", " "));
System.out.println(space.replaceAll("\\s+", " "));
System.out.println(space.replaceAll("\\s", ""));
}
}
運作結果是:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICO3ETMwYzM2ETNyQDM1EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
注意把處理之後的字元串,重新指派給原來的字元串哦!