public String trim()
Returns a copy of the string, with leading and trailing whitespace omitted.
返回一个 copy 的字符串, 去掉首尾空白( 空格, tab...)
result:
str_ori is : 0,0,1
str_new is :0,0,1
sarray[0]:0
sarray[1]:0
sarray[2]:1
很明显:
返回一个 copy 的字符串, 去掉首尾空白( 空格, tab...)
//eg.
package com.exe;
public class StringTest {
public static void main(String[] args)
{
String[] sarray;
String str_ori=" 0,0,1 ";
String str_new=str_ori.trim();
System.out.println("str_ori is :"+str_ori);
System.out.println("str_new is :"+str_new);
sarray=str_new.split(",");
for(int i=0;i<sarray.length;i++){
System.out.println("sarray["+i+"]:"+sarray[i]);
}
}
}
result:
str_ori is : 0,0,1
str_new is :0,0,1
sarray[0]:0
sarray[1]:0
sarray[2]:1
很明显:
public String trim()并没有改变原来的字符串,它返回的是一个新的String.
最后总结一下:
String.Trim()方法会去除字符串两端,不仅仅是空格字符,它总共能去除25种字符:
('/t', '/n', '/v', '/f', '/r', ' ', '/x0085', '/x00a0', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '?', '/u2028', '/u2029', ' ', '?')
如果你想保留其中的一个或多个(例如/t制表符,/n换行符,/r回车符等),请慎用Trim方法。
请注意,Trim删除的过程为从外到内,直到碰到一个非空白的字符为止,所以不管前后有多少个连续的空白字符都会被删除掉。
最后附上两个相关的方法(也是String类直接提供的),分别去除字符串头部空白字符的TrimStart方法和去除字符串尾部空白字符的 TrimEnd方法:
TrimStart和TrimEnd方法
如果想去除字符串两端其他任意字符,可以考虑Trim他的重载兄弟:String.Trim(Char[]),传入你想要去除的哪些字符的数组。
源码奉上:
public string Trim(params char[] trimChars) { if ((trimChars == null) || (trimChars.Length == 0)) { trimChars = WhitespaceChars; } return this.TrimHelper(trimChars, 2); }
空格 != 空白字符,删除空格请使用: Trim(‘ ‘);