在使用trim()的时候发现呢,和c++的思维一样,以为.trim()之后原来的对象就会String就会截取你不要的部分呢。可是我忽略了String 设计之处就是不允许修改的,一旦对字符发生操作,一般都是new一个新的对象并返回,这一点trim()和replace一样
String newStr = oldStr.trim(), newStr
才是你想要的结果,oldStr并不回会发生改变。
然后看了下jdk源码,发现我用的是真的trim!!java的trim能去掉的字符是unicode 小于32的字符,包括了换行,tab键等,但是有些看起来像空格的,比如:全角空格(unicode = 12288 ),不间断空格(unicode=160),用trim去不掉。
当然也可以使用repalce的方法+正则表达式来实现来实现如下,去掉前面的空格
str = str.replaceAll("^( +)", "");