天天看點

【Java】關于去除空格

首先必須聲明的是,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", ""));
	}
}
           

運作結果是:

【Java】關于去除空格

注意把處理之後的字元串,重新指派給原來的字元串哦!