1. 程式人生 > >String類的trim()方法之不能消除的空格

String類的trim()方法之不能消除的空格

在後臺數據統計清洗中,我們時常會遇到針對字串的修改的問題,其中比較常見的就是消除字串中的空格。這裡筆者要闡述的不是如何消除字串中出現的空格,而是在消除字串中遇到的問題:有些空格不能使用trim()消除掉。

這個問題出現的原因在於trim()函式只能消除半形空格,而不能消除全形空格。如果輸入的空格是全形空格,那麼後臺使用trim()是不能清除的。

要想消除全形空格,就必須先將全形空格轉換成半形空格,然後再使用trim()函式。

關於將全形空格轉換成半形空格的方法,有多種,最簡單的就是使用String類的replaceAll()函式。

	public static void main(String[] args) throws Exception
	{
		String test = " 我是全形空格,我是半形空格 ";
		System.out.println(test.length());
		System.out.println(test.trim());
		System.out.println(test.trim().length());
		System.out.println(test.replaceAll(" ", "").trim());
		System.out.println(test.replaceAll(" ", "").trim().length());
		
	}



執行結果:
15
 我是全形空格,我是半形空格
14
我是全形空格,我是半形空格
13

可以看到,全形空格長度是2,半形空格長度是1,trim()能消除半形空格,但是不能消除全形空格。消除全形空格,只能先講將其轉換成半形空格再呼叫trim()刪除。