2011-01-13 196 views
6

我想刪除字符串的最後一個字符。最後一個字符是換行符(System.Environment.NewLine)。刪除字符串的最後一個字符(VB.NET 2008)

我試過一些東西,但是我無法刪除它。

例子:

myString.Remove(sFP.Length - 1) 

例2:

myString= Replace(myString, Environment.NewLine, "", myString.Length - 1) 

我該怎麼辦呢?

回答

16

如果你的換行符是CR LF,它實際上是連續的兩個字符。嘗試使用Length - 2致電Remove

如果你想刪除所有「\ n」和「\ R」字符的字符串的結束,嘗試調用TrimEnd,使字符:

str.TrimEnd(vbCr, vbLf) 

要刪除所有空白字符(換行,標籤,空格......)只需撥打TrimEnd而不通過任何內容。

+0

像C#,VB字符串是不可變的。 – 2011-01-13 12:49:50

3
Dim str As String = "Test" & vbCrLf 
str = str.Substring(0, str.Length - vbCrLf.Length) 

與Environment.NewLine代替vbCrlf相同:

str = "Test" & Environment.NewLine 
str = str.Substring(0, str.Length - Environment.NewLine.Length) 

順便說一下,所不同的是:Environment.NewLine是平臺特定的(FE返回其他OS其他字符串)

您的remove -approach沒有工作,因爲您沒有將此函數的返回值分配給您的原始字符串參考:

str = str.Remove(str.Length - Environment.NewLine.Length) 

,或者如果你想替換所有換行符:

str = str.Replace(Environment.NewLine, String.Empty) 
-1

用途:

Dim str As String 
str = "cars,cars,cars" 
str = str.Remove(str.LastIndexOf(",")) 
相關問題