3

有什么方法可以阻止string.Trim()删除FF字符?

我正在解析一个文件,以便能够区分仅包含 FF 字符的空行、带有 FF 字符的空格行和带有 FF 字符的“数据”行之间的区别。

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

"\f"
"                               "
"                             \f"

例如,它也在修剪\f字符串?

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

4

2 回答 2

3

来自 MSDN:

字符串.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) 、下一行 (U+0085) 和无间隔 (U+00A0)。

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

这就是它被剥离的原因。

希望这可以帮助

于 2013-09-30T04:33:25.307 回答
1

因为它旨在删除它。见MSDN

于 2013-09-30T04:33:14.183 回答