在特定行之后添加行(如果存在)

时间:2016-11-18 19:48:46

标签: .net

现在我有了这个

 txtRTB.Text = txtRTB.Text & vbNewLine & "Text2"

如果txtRTB.Text中存在该行,有没有办法可以在“Text1”之前添加此行?

例如,让我们说现在txtRTB.Text说:
文本1

我想要我的按钮,或其他什么,在它之前添加“Text2”就像这样:
文本2
文本1

否则,只需将它添加到下一行,如下所示:

随机文字
文本2







[编辑] 所以,假设我在我的富文本框中有这个:
苹果
香蕉


如果我在没有“s”的情况下搜索“Banana”并找到“Bananas”,我想在它之前添加“Strawberry”这样的行:
苹果
草莓
香蕉

否则,如果找不到“Banana”(如果“Bananas”不在列表中,那么我想将它添加到文本框的顶部,如下所示:
草莓
苹果

2 个答案:

答案 0 :(得分:1)

您是否正在尝试查找或查看字符串是否包含在另一个字符串中?

如果是,请尝试以下方法: -

String valueTxtRTB = txtRTB.Text

     if (valueTxtRTB.Contains("Text1"))
        {  
            // Do Something // 
        }

答案 1 :(得分:1)

您必须获取搜索文本的行号才能插入它:

Dim index As Integer = txtRTB.Find("Text1")
If index > -1 Then
  index = txtRTB.GetLineFromCharIndex(index)
  index = txtRTB.GetFirstCharIndexFromLine(index)
  txtRTB.Select(index, 0)
  txtRTB.SelectedText = "Text2" & vbNewLine
Else
  txtRTB.AppendText("Text2" & vbNewLine)
End If

此外,在添加文本时,请使用AppendText:

'txtRTB.Text = txtRTB.Text & vbNewLine & "Text2"
txtRTB.AppendText(vbNewLine & "Text2")