1

我正在尝试解析垃圾并缩小一堆文本。如果 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" & *(使用通配符)。

4

2 回答 2

1

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

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

"aaa" Like "a*"

退货True

或者使用正则表达式:

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

也返回True

于 2012-11-13T02:45:57.387 回答
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
于 2012-11-13T07:00:39.200 回答