Java,String類中的trim()方法
public class TestStringTrim {
/**
* 主函式。
*/
public static void main(String[] args) {
// 測試函式。
testStringTrim();
}
/**
* 瞭解String類的trim函式(Jdk 1.7)。
* 一般情況下大家理解的是:
* 去掉物件字串前後的半形空格。
* 其實不然:
* 去掉的是物件字串前後的
* (在Unicode編碼裡 <= 半形空格的所有字元)
*/
private static void testStringTrim() {
// Unicode編碼裡0到32的字元都會被去掉。
System.out.println(((char) 0 + "0" + (char) 0 ).trim());
System.out.println(((char) 1 + "1" + (char) 1 ).trim());
System.out.println(((char) 2 + "2" + (char) 2 ).trim());
System.out.println(((char) 3 + "3" + (char) 3 ).trim());
System.out.println(((char) 4 + "4" + (char) 4 ).trim());
System.out.println(((char) 5 + "5" + (char) 5 ).trim());
System.out.println(((char) 6 + "6" + (char) 6 ).trim());
System.out.println(((char) 7 + "7" + (char) 7 ).trim());
System.out.println(((char) 8 + "8" + (char) 8 ).trim());
System.out.println(((char) 9 + "9" + (char) 9 ).trim());
System.out.println(((char) 10 + "10" + (char) 10 ).trim());
System.out.println(((char) 11 + "11" + (char) 11 ).trim());
System.out.println(((char) 12 + "12" + (char) 12 ).trim());
System.out.println(((char) 13 + "13" + (char) 13 ).trim());
System.out.println(((char) 14 + "14" + (char) 14 ).trim());
System.out.println(((char) 15 + "15" + (char) 15 ).trim());
System.out.println(((char) 16 + "16" + (char) 16 ).trim());
System.out.println(((char) 17 + "17" + (char) 17 ).trim());
System.out.println(((char) 18 + "18" + (char) 18 ).trim());
System.out.println(((char) 19 + "19" + (char) 19 ).trim());
System.out.println(((char) 20 + "20" + (char) 20 ).trim());
System.out.println(((char) 21 + "21" + (char) 21 ).trim());
System.out.println(((char) 22 + "22" + (char) 22 ).trim());
System.out.println(((char) 23 + "23" + (char) 23 ).trim());
System.out.println(((char) 24 + "24" + (char) 24 ).trim());
System.out.println(((char) 25 + "25" + (char) 25 ).trim());
System.out.println(((char) 26 + "26" + (char) 26 ).trim());
System.out.println(((char) 27 + "27" + (char) 27 ).trim());
System.out.println(((char) 28 + "28" + (char) 28 ).trim());
System.out.println(((char) 29 + "29" + (char) 29 ).trim());
System.out.println(((char) 30 + "30" + (char) 30 ).trim());
System.out.println(((char) 31 + "31" + (char) 31 ).trim());
System.out.println(((char) 32 + "32" + (char) 32 ).trim());
System.out.println(((char) 33 + "33" + (char) 33 ).trim());
// 輸出結果
/*
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
!33!
*/
}
}
附上Unicode碼
0 NUL 空字元(Null)
1 SOH 標題開始
2 STX 本文開始
3 ETX 本文結束
4 EOT 傳輸結束
5 ENQ 請求
6 ACK 確認迴應
7 BEL 響鈴
8 BS 退格
9 HT 水平定位符號
10 LF 換行鍵
11 VT 垂直定位符號
12 FF 換頁鍵
13 CR Enter鍵
14 SO 取消變換(Shift out)
15 SI 啟用變換(Shift in)
16 DLE 跳出資料通訊
17 DC1 裝置控制一(XON 啟用軟體速度控制)
18 DC2 裝置控制二
19 DC3 裝置控制三(XOFF 停用軟體速度控制)
20 DC4 裝置控制四
21 NAK 確認失敗迴應
22 SYN 同步用暫停
23 ETB 區塊傳輸結束
24 CAN 取消
25 EM 連線介質中斷
26 SUB 替換
27 ESC 退出鍵
28 FS 檔案分割槽符
29 GS 組群分隔符
30 RS 記錄分隔符
31 US 單元分隔符