如何从RichTextBox中删除字符串?

时间:2012-11-13 01:23:04

标签: vb.net richtextbox string-matching

我正在尝试解析垃圾并缩小一堆文本。如果a不匹配,如何删除当前行?我想完全删除该行:

For i As Integer = 0 To RichTextBox1.Lines.Length - 1
  Dim a As String = RichTextBox1.Lines(i).ToString
  If Not a = "SaveThisLine" Then
    'delete the active line
  End If
Next

另外我如何匹配部分?例如if not a = "SaveThisLine" & *(使用通配符)。

2 个答案:

答案 0 :(得分:1)

我不会触及原始文本,而是将有效行保存到StringBuilder中,因此如果行有效,则为AppendLine。最后使用RichTextBox1.Text转储回StringBuilder.ToString

对于VB.NET中的部分匹配,您可以使用本机Like运算符:

"aaa" Like "a*"

返回True

或使用正则表达式:

System.Text.RegularExpressions.Regex.Match("aaa", "^a").Success

同时返回True

答案 1 :(得分:0)

你可以这样做:

   For i As Integer = 0 To RichTextBox1.Lines.Length - 1
        If RichTextBox1.Lines(i) = "2" Then
            RichTextBox1.Text = Replace(RichTextBox1.Text, RichTextBox1.Lines(i), "", , 1)
        End If
    Next