c# - 如何检测richTextBox中的文本行

时间:2016-03-28 13:38:31

标签: c#

所以我想知道具体的文字是什么。例如:

if (richTextBox1.Text.Contains("hello!") || 
    richTextBox1.Text /* is on the second line */ ){
  // do things
}

2 个答案:

答案 0 :(得分:2)

RichTextBox内置了一些用于此任务的功能....

int pos = rtb.Find("Hi", RichTextBoxFinds.MatchCase);
if(pos != -1)
{
    int line = rtb.GetLineFromCharIndex(pos);
    Console.WriteLine(line);
}

RichTextBox.Find

  

在RichTextBox的内容中搜索文本。

Find有很多重载,有人允许你创建一个循环来查找指定搜索起始索引的所有匹配。

RichTextBox.GetLineFromCharIndex

  

从指定的字符位置中检索行号   RichTextBox控件的文本。

答案 1 :(得分:0)

我认为这就是你要找的东西:

// First, split your text as lines:
var lines = richTextBox1.Text.Split(new string[] { "\r\n" }, StringSplitOptions.None);

// Then, check just the second line (since in your example you are only interested in the second line):
if(lines.Length > 1)
{
    if(lines[1].Contains("hello!")
    {
        // do things
    }
}