停止C#string.Trim()删除FF字符?

时间:2013-09-30 04:29:15

标签: c# string special-characters

有没有办法阻止string.Trim()删除FF字符?

我正在解析一个文件,以便能够区分一个只有一个FF字符的空行,一个带有FF字符的空格行和一个带有FF字符的“数据”行。

但是,如果我测试string.Trim() == string.Empty,那么对于以下所有内容它都会返回true:

"\f"
"                               "
"                             \f"

e.g。它还修剪了\f的字符串?

注意:我可以使用正则表达式对\f进行测试,但是对于为什么修剪会删除\ f也感兴趣?

2 个答案:

答案 0 :(得分:3)

来自MSDN:

string.trim

  

空白字符由Unicode标准定义。 Trim()方法删除任何前导和尾随字符,这些字符在传递给Char.IsWhiteSpace方法时返回值为true。

http://msdn.microsoft.com/en-us/library/t97s7bs3.aspx

来自Char.IsWhiteSpace

  

空格字符是以下Unicode字符:字符CHARACTER TABULATION(U + 0009),LINE FEED(U + 000A),LINE TABULATION(U + 000B),FORM FEED(U + 000C),CARRIAGE RETURN(U + 000D),NEXT LINE(U + 0085)和NO-BREAK SPACE(U + 00A0)。

http://msdn.microsoft.com/en-us/library/t809ektx.aspx

这就是它被剥离的原因。

希望这有帮助

答案 1 :(得分:1)

因为它旨在删除它。见MSDN

相关问题