2011-01-13 457 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(",")) 
相关问题