Java中String的trim()函數
簡言之,Java中的trim()函數去除了字符串前后兩端的所有包括空格、換行、回車等在ASCII碼表中排行小于等于空格(空格在ASCII碼表中序號是32)的字符。
查看String類中的源碼就知道了:
public String trim() {
int len = value.length;
int st = 0;
char[] val = value; /* avoid getfield opcode */
while ((st < len) && (val[st] <= ' ')) {
st++;
}
while ((st < len) && (val[len - 1] <= ' ')) {
len--;
}
return ((st > 0) || (len < value.length)) ? substring(st, len) : this;
}
測試驗證
public class Test {
public static void main(String[] args) {
String str = "\n\f\t12 3 \t";
System.out.println("str value:"+str.trim()+"."); // 結果:str value:12 3.
}
}
附ASCII碼表中部分特殊字符的數字序號:
chr(9) tab空格 chr(10) 換行 chr(13) 回車
chr(32) 空格符 chr(34) 雙引號 chr(39) 單引號
chr(33) ! chr(34) " chr(35) #
chr(36) $ chr(37) % chr(38) &
chr(39) ' chr(40) ( chr(41) )
chr(42) * chr(43) + chr(44) ,
chr(45) - chr(46) . chr(47) /
chr(48) 0 chr(59) ; chr(60) <
chr(61) = chr(62) > chr(63) ?
chr(64) @ chr(91) [ chr(92) \
chr(93) ] chr(94) ^ chr(95) _
chr(96) `