我收到错误“路径中的无效字符”。我的路径使用$ findstr命令输出到.txt文件,并在应用程序的过程中被删除,所以我写了一个简单的子句,将字符串输出到文本框,看看是什么引起了错误。
Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
Dim Folder = Application.StartupPath & "\PRODUCTION"
Dim MyFile As String = File.ReadAllText(Folder & "\results3.txt")
MyFile.Replace("/n", "") ' One of my various attempts
TextBox2.Text = Folder & "\" & MyFile & "<--END"
End Sub
出现的一个例子:
C:/user/.../file.asasm
<--END
由于某种原因,findstr命令在我的路径之后添加了第二个空行,到目前为止我无法将其删除。根据其他几个主题的建议,我试过了:
MyFile.Trim() ' From MSDN is seems this only removes null spaces and not blank lines
MyFile.TrimEnd() ' Same result as trim
MyFile.Replace("/n","") ' I'm not sure if the /n parameter can be used in this way
MyFile.Replace(10,"") ' I thought this one for sure would work since 10 corresponds to a new line in the ASCII Table
任何有助于解决此问题的帮助将不胜感激。我意识到这个主题还有其他几个主题,但似乎没有一个解决方案在这里工作。
修订版 我在代码中实现的解决方案是
MyFile = MyFile.Replace(Envirnment.NewLine,"")
答案 0 :(得分:2)
你试过了吗?
MyFile.Replace(Environment.NewLine, "")
在Windows上应该与:
相同MyFile.Replace(vbCrLf, "")
还可以尝试:
MyFile.Replace(vbCr, "")
或
MyFile.Replace(vbLf, "")
根据你所拥有的换行符的类型,要么适合你。
编辑:关于MyFile.Replace(10,"")
为什么不适合您的原因。你成了隐式类型转换(VB.NET的一个特性)的受害者,所以这一行被执行为:
MyFile.Replace("10","")
如果您想避免此类问题,请确保您拥有Option Strict On
。
答案 1 :(得分:2)
修剪也可以MyFile = MyFile.Trim(vbNewLine.ToCharArray)
答案 2 :(得分:1)
Environment.NewLine
可能是引用换行符的最佳方式。 "/n"
绝对不是。首先,你肯定会想到"\n"
,而不是"/n"
- 另一方面,在vb.net中,甚至反斜杠都是按字面解释的(不是控制字符)。