我正在尝试删除字符串的最后一个字符。最后一个字符是换行符(System.Environment.NewLine)。
我尝试了一些东西,但我无法删除它。
示例:
myString.Remove(sFP.Length - 1)
示例2:
myString= Replace(myString, Environment.NewLine, "", myString.Length - 1)
我怎么做?
答案 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(","))