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 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));
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");在页面上是看不出效果的,查看页面的源代码才能看到那个空格...