簡體   English   中英

VB.NET Trim不適用於包含vbLf的XML InnerText?

[英]VB.NET Trim does not work on XML InnerText that contains a vbLf?

如果我采用以下XML:

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

並在密碼節點的InnerText上調用Trim()方法,它正確地Trim()它,但如果我將片段修改為如下所示:

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

我無法使Trim()方法起作用,刪除的空格pass返回為pass (它在末尾有一個空格)。 我查看了監視窗口,當我點擊該值時,它顯示為:

"pass" & vbLf & ""

String.Trim方法永遠不會刪除換行符。 它只刪除空格。 如果您想刪除所有換行符,您可以執行以下操作:

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

但是,這將刪除文本開頭或中間的任何換行符。 但是,無論如何,也許這就是你想要的。

或者,您可以使用Trim的重載來傳遞要刪除的字符數組(但它只會從開頭和結尾刪除,而不是從中間刪除):

InnterText.Trim(Environment.NewLine.ToCharArray()).Trim()

根據定義,根據Char.IsWhiteSpace的頁面,換行符,制表符和回車符都是空格字符。 它還有一個警告,即此函數返回true並不意味着它將被Trim刪除。

您可以使用Replace或將Char數組傳遞給Trim以刪除要刪除的字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM