删除字符串的最后一个字符(VB.NET 2008)

时间:2011-01-13 12:30:21

标签: vb.net string

我正在尝试删除字符串的最后一个字符。最后一个字符是换行符(System.Environment.NewLine)。

我尝试了一些东西,但我无法删除它。

示例:

myString.Remove(sFP.Length - 1)

示例2:

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

我怎么做?

3 个答案:

答案 0 :(得分:16)

如果换行符是CR LF,则实际上是两个连续字符。尝试使用Remove进行Length - 2来电。

如果要删除字符串末尾的所有“\ n”和“\ r”字符,请尝试调用TrimEnd,传递字符:

str.TrimEnd(vbCr, vbLf)

要删除所有空白字符(换行符,制表符,空格等),只需调用TrimEnd而不传递任何内容。

答案 1 :(得分: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是特定于平台的(f.e。在其他操作系统中返回其他字符串)

您的remove - 方法无效,因为您没有将此函数的返回值分配给原始字符串引用:

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

或者如果您想要替换所有NewLines:

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

答案 2 :(得分:0)

使用:

Dim str As String
str = "cars,cars,cars"
str = str.Remove(str.LastIndexOf(","))