从richtextbox中删除没有背景颜色的字符串

时间:2012-04-20 09:59:35

标签: vb.net richtextbox

我有一个带有一些文本的richtextbox,我从一个网页上得到了。我需要删除所有没有背景颜色的文本,但我也希望将市场单词保持在删除行之前的同一行。以下是文本示例:

Print screen

1 个答案:

答案 0 :(得分:0)

一种hacky方式是反过来逐个检查每个角色。

For i As Integer = RichTextBox1.TextLength - 1 To 0 Step -1
  RichTextBox1.Select(i, 1)
  If Not (RichTextBox1.SelectedText = Chr(10) Or _
          RichTextBox1.SelectedText = Chr(13)) Then
    If RichTextBox1.SelectionBackColor.R = 255 AndAlso _
       RichTextBox1.SelectionBackColor.G = 255 AndAlso _
       RichTextBox1.SelectionBackColor.B = 255 Then
      RichTextBox1.SelectedText = String.Empty
    End If
  End If
Next

这可能非常简单,在这种情况下,尝试在代码中创建一个新的RichTextBox控件,传输内容,然后在那里完成工作。然后将结果传回现有的RichTextBox控件。