繁体   English   中英

如何阅读 RichTextBox 中不同行的文本

[英]How to read Different lines of text in a RichTextBox

我想知道如何在 vb.net 中读取和转换 RichTextBox 的不同行,例如,如果这些是 RichTextBox 的行:

    Hello
    Hi

我怎样才能把它转换成类似的东西:

    Yo(Hello)
    Yo(Hi)

并将结果放在第二个富文本框中?

RichtextBox 有一个lines属性:

    Dim rtb_in As New RichTextBox
    Dim rtb_out As New RichTextBox
    For Each line In rtb_in.Lines
        rtb_out.AppendText(String.Format("Foo({0})", line))
    Next

查看 MSDN 以了解您使用的课​​程总是一个好主意......

您可以尝试在新行上拆分并修改结果:

Dim box1Lines as String() = richTextBox1.Text.Split(new String() { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)

Dim newLines as String = ""

For Each line As String in box1Lines

    newLines += "Yo(" & line & ")" & Environment.NewLine

Next

richTextBox2.Text = newLines

可能你应该使用String.Join来完成它。 one line解决方案是:

rtbOut.Lines = ("Yo(" & String.Join(")" & Environment.NewLine & "Yo(", rtbIN.Lines) & ")").Split(Environment.NewLine.ToCharArray, StringSplitOptions.RemoveEmptyEntries)

这是完整的代码,其中修改后的行被分配给第二个RichTextBox

Dim rtbIN As New RichTextBox
Dim rtbOut As New RichTextBox
rtbIN.Lines = New String() {"Hello ", "Hi"}
rtbOut.Lines = ("Yo(" & String.Join(")" & Environment.NewLine & "Yo(", rtbIN.Lines) & ")").Split(Environment.NewLine.ToCharArray, StringSplitOptions.RemoveEmptyEntries)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM