c# - 读取富文本框中的特定行
c# - Read a specific line in a richtextbox
所以我这里有这段代码
int pos = richTextBox1.Find("someText", RichTextBoxFinds.MatchCase);
if (pos != -1)
{
int line = richTextBox1.GetLineFromCharIndex(pos);
string lineString = line.ToString();
string inside = string.Format(lineString);
MessageBox.Show(inside);
}
如果您不熟悉,那就是查找特定文本所在的行。
我想把那行文字读一遍整行是什么。
例如,如果该行是 someText hfdshjslkgjhsdilg
然后我会收到一个消息框,上面写着 someText hfdshjslkgjhsdilg
这是 LINQ 解决方案:
string line = richTextBox.Lines.FirstOrDefault(l => l.Contains(searchedText));
if (line != null) MessageBox.Show(line);
int pos = richTextBox1.Find("someText", RichTextBoxFinds.MatchCase);
if (pos != -1)
{
int line = richTextBox1.GetLineFromCharIndex(pos);
int nextLineStart = richTextBox1.GetFirstCharIndexFromLine(line + 1);
if (nextLine != -1)
{
string lineString = richTextBox1.Text.Substring(pos, nextLineStart - pos);
MessageBox.Show(lineString);
}
}
要使用 RichTextBox
方法来做到这一点,您可以使用 richTextBox1.Lines.ElementAt
来获取 Text
:
int pos = richTextBox1.Find("someText", RichTextBoxFinds.MatchCase);
if (pos != -1) {
int line = richTextBox1.GetLineFromCharIndex(pos);
string lineString = richTextBox1.Lines.ElementAt(line);
MessageBox.Show(lineString);
}
Lines
会 return 你在 RichTextBox
中的行,你的 int line
会告诉你你想要抓取的行的索引。所以,你只需要使用它们来使用 Lines.ElementAt(line)
来抢你的线
所以我这里有这段代码
int pos = richTextBox1.Find("someText", RichTextBoxFinds.MatchCase);
if (pos != -1)
{
int line = richTextBox1.GetLineFromCharIndex(pos);
string lineString = line.ToString();
string inside = string.Format(lineString);
MessageBox.Show(inside);
}
如果您不熟悉,那就是查找特定文本所在的行。
我想把那行文字读一遍整行是什么。
例如,如果该行是 someText hfdshjslkgjhsdilg
然后我会收到一个消息框,上面写着 someText hfdshjslkgjhsdilg
这是 LINQ 解决方案:
string line = richTextBox.Lines.FirstOrDefault(l => l.Contains(searchedText));
if (line != null) MessageBox.Show(line);
int pos = richTextBox1.Find("someText", RichTextBoxFinds.MatchCase);
if (pos != -1)
{
int line = richTextBox1.GetLineFromCharIndex(pos);
int nextLineStart = richTextBox1.GetFirstCharIndexFromLine(line + 1);
if (nextLine != -1)
{
string lineString = richTextBox1.Text.Substring(pos, nextLineStart - pos);
MessageBox.Show(lineString);
}
}
要使用 RichTextBox
方法来做到这一点,您可以使用 richTextBox1.Lines.ElementAt
来获取 Text
:
int pos = richTextBox1.Find("someText", RichTextBoxFinds.MatchCase);
if (pos != -1) {
int line = richTextBox1.GetLineFromCharIndex(pos);
string lineString = richTextBox1.Lines.ElementAt(line);
MessageBox.Show(lineString);
}
Lines
会 return 你在 RichTextBox
中的行,你的 int line
会告诉你你想要抓取的行的索引。所以,你只需要使用它们来使用 Lines.ElementAt(line)