VB.NET富文本框换行符删除
我正在VB.NET中使用一个富文本框,并将其传递给StringBuilder。我需要用空格或逗号替换文本框中的新行字符。问题是,在这种情况下,新行的标准代码似乎没有拾取新行字符。富文本框中是否有特定字符用作新行?如有任何帮助或建议,将不胜感激 您可以尝试使用VB.NET富文本框换行符删除,vb.net,richtextbox,Vb.net,Richtextbox,我正在VB.NET中使用一个富文本框,并将其传递给StringBuilder。我需要用空格或逗号替换文本框中的新行字符。问题是,在这种情况下,新行的标准代码似乎没有拾取新行字符。富文本框中是否有特定字符用作新行?如有任何帮助或建议,将不胜感激 您可以尝试使用Environment.NewLine作为真正新行的语言无关常量(如果可能,您应该尽量避免使用特定于语言的常量和函数) 有时它只是chr(10)或chr(13)VbCrLf是chr(10)和chr(13)的组合 尝试解析其中一个,看看是否有帮
Environment.NewLine
作为真正新行的语言无关常量(如果可能,您应该尽量避免使用特定于语言的常量和函数)
有时它只是
chr(10)
或chr(13)
VbCrLf
是chr(10)
和chr(13)
的组合
尝试解析其中一个,看看是否有帮助。您可以使用RichTextBox的Lines属性。然后,您可以插入逗号,或者按如下方式对其进行分隔
Dim sb As New StringBuilder(String.Join(",", Me.richTextBox1.Lines))
我能弄明白。您必须使用ControlChars.Lf,以便代码符合以下要求:
RichTextBox1.Text = RichTextBox1.Text.Replace(ControlChars.Lf, ",")
啊,是的,是的。我完全忘记了这些,因为我现在几乎只在C#工作了一段时间。很高兴你解决了!顺便说一下,ControlChars.Lf相当于Chr(10),正如ezwi和我前面提到的:)不过,这是一个特定于VB的函数。为什么不使用Environment.Newline,使其语言不可知?实际上,我们已经尝试过Environment.Newline,但没有成功。不过谢谢你的建议。请注意,这会删除richtextbox中的所有格式。
Dim linesJoined As String = String.Join(",", Me.RichTextBox1.Lines)
RichTextBox1.Text = RichTextBox1.Text.Replace(ControlChars.Lf, ",")