String.Trim()

 

Trim 方法从当前字符串移除所有前导空白字符和尾部空白字符。遇到非空白字符时,每个前导裁剪操作和尾部裁剪操作都会停止。例如,如果当前字符串为“ abc xyz ”,则 Trim 方法返回“abc xyz”。

 

下表列出了被 Trim 方法移除的空白字符。(请注意,尽管传递特定字符时静态 Char.IsWhiteSpace(Char) 方法返回 true,但该字符不一定被 Trim 方法移除。) 第一列列出了字符的 Unicode 名称,第二列列出了标识该字符的 Unicode 码位的十六进制表示法。

Unicode 名称

Unicode 码位

CHARACTER TABULATION

U+0009

LINE FEED

U+000A

LINE TABULATION

U+000B

FORM FEED

U+000C

CARRIAGE RETURN

U+000D

SPACE

U+0020

NEXT LINE

U+0085

NO-BREAK SPACE

U+00A0

OGHAM SPACE MARK

U+1680

EN QUAD

U+2000

EM QUAD

U+2001

EN SPACE

U+2002

EM SPACE

U+2003

THREE-PER-EM SPACE

U+2004

FOUR-PER-EM SPACE

U+2005

SIX-PER-EM SPACE

U+2006

FIGURE SPACE

U+2007

PUNCTUATION SPACE

U+2008

THIN SPACE

U+2009

HAIR SPACE

U+200A

ZERO WIDTH SPACE

U+200B

LINE SEPARATOR

U+2028

PARAGRAPH SEPARATOR

U+2029

IDEOGRAPHIC SPACE

U+3000

ZERO WIDTH NO-BREAK SPACE

U+FEFF

 
        String str1 = "*;|@123***456@|;*";
        String delim 
= "*;|@";
        
//传递一个数组清除匹配数组内的字符.
        String str2 = str1.Trim(delim.ToCharArray());
        Response.Write(String.Format(
"Delimiters:{0}<br>", delim));
        Response.Write(
string.Format("Original String:{0}<br>", str1));
        Response.Write(String.Format(
"Trimmed String:{0}<br>", str2));

 

string[] test = new string[6];
test[
0= "abc   ";
test[
1= "abc\r";
test[
2= "abc\t";
test[
3= "abc\0";
test[
4= "abc\n";
test[
5= "abc\f";
for (int i = 0; i < 6; i++)
{
   System.Console.Write(i.ToString() 
+ test[i].Trim() + "---");
}

 

输出结果为:
0abc---1abc2---abc---3abc ---4abc---5abc---
测试表明:"  ","\r","\t","\n","\f"符合Trim()的匹配条件.而"\0"则不符合.

如果在Aspx页面中使用Response.Write("abc\0");在页面上是看不出效果的,查看页面的源代码才能看到那个空格...

 

posted @ 2009-11-16 09:25  唔愛吃蘋果  阅读(2045)  评论(0编辑  收藏  举报