如何删除不包含特定文本的vb.net Richtextbox行?

时间:2014-03-10 16:39:32

标签: vb.net visual-studio-2010

我使用下一个代码从Richtextboxes中删除行,但这样我只能告诉要删除的行。我需要删除所有不包含特定文本的行,这可以通过我的代码的一些编辑来完成吗?

第一篇:

Private Property lineToBeRemovedlineToBeRemoved As Integer

第二部分:

Dim lineToBeRemoved As Integer = 0
        lineToBeRemovedlineToBeRemoved = lineToBeRemoved - 0
        Dim str As String = RichTextBox1.Lines(lineToBeRemoved)
        RichTextBox1.Find(str & vbCr)
        RichTextBox1.SelectedText = ""

4 个答案:

答案 0 :(得分:0)

您的代码并未关闭。你应该重新开始。使用for循环遍历RichTextBox行。如果文本不在一行中,则删除它。提示:从最后一行到第一行可能更容易,以避免在删除时出现问题。

答案 1 :(得分:0)

此代码将从不包含“Test”的richtextbox RichTextbox1中删除任何行。请务必在代码顶部添加Imports System.Text.RegularExpressions

Private Sub RemoveLines()
    Dim lines As New List(Of String)
    lines = RichTextBox1.Lines.ToList
    Dim FilterText = "Test"

    For i As Integer = lines.Count - 1 To 0 Step -1
        If Not Regex.IsMatch(lines(i), FilterText) Then
            lines.RemoveAt(i)
        End If
    Next

    RichTextBox1.Lines = lines.ToArray

End Sub

答案 2 :(得分:0)

 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    RTB.Select(RTB.GetFirstCharIndexFromLine(2), RTB.Lines(2).Count)
    RTB.SelectionLength = RTB.Lines(2).Length + 1
    RTB.SelectedText = ""
End Sub

答案 3 :(得分:0)

尝试一下此代码,我将其应用于我的编,并且效果很好。 使用时,只需...呼叫dels(“ unwanted”)==>包含不需要的单词的行将消失。

platform.ready().then(() => { 
  this.backgroundMode.setDefaults({ silent: true });
  this.backgroundMode.enable();
  backgroundMode.on('enable').subscribe(() => { 
    setInterval(() => {
      this.getBusqueda();
    }, 5000);
  });