1

如果我采用以下 XML:

<security>
<user>user</user>
<password>pass   </password>
</security>

并在密码节点上调用该Trim()方法InnerText,它会正确修剪它,但是如果我将片段修改为如下所示:

<security>
<user>user</user>
<password>pass

我无法使该Trim()方法正常工作,删除空格后通过返回为pass(最后有一个空格)。我查看了监视窗口,当我双击该值时,它显示为:

"pass" & vbLf & ""

4

2 回答 2

2

String.Trim 方法从不删除换行符。它只删除空格。如果要删除所有换行符,只需执行以下操作:

InnterText.Replace(Environment.NewLine, "").Trim()

但是,这将删除文本开头或中间的任何换行符。但是,也许这就是你想要的,无论如何。

或者,您可以使用 Trim 的重载传递要删除的字符数组(但它只会从开头和结尾删除,而不是从中间删除):

InnterText.Trim(Environment.NewLine.ToCharArray()).Trim()
于 2012-05-09T14:00:52.590 回答
1

根据定义,根据Char.IsWhiteSpace的页面,换行符、制表符和回车符都是空白字符。它还需要注意的是,此函数返回 true 并不意味着它将被 Trim 删除。

您可以使用 Replace 或将Char 数组传递给 Trim以删除要删除的字符。

于 2012-05-09T14:06:05.120 回答