String類的trim()方法之不能消除的空格
阿新 • • 發佈:2018-12-17
在後臺數據統計清洗中,我們時常會遇到針對字串的修改的問題,其中比較常見的就是消除字串中的空格。這裡筆者要闡述的不是如何消除字串中出現的空格,而是在消除字串中遇到的問題:有些空格不能使用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()刪除。