在我正在處理的應用程序中,我創建了關鍵字搜索器。用戶上傳一個文本文件(因爲這是爲了工作,它將是一個包含數千行消息的txt文件),並且可以輸入多個單詞來搜索,並且應用程序用相應的輸入抽出任何行。唯一的問題是,他們希望能夠在被複制的行的上面和下面拉出n行,以便他們可以看到被拖動的消息的上下文。有沒有辦法說,複製這一行和n以上和以下的行數?以下是我的代碼,用於搜索單詞並編寫它。在C#中的文本文件後面添加行的上方和下方寫入n行代碼
private void button12_Click(object sender, EventArgs e)
{
string[] sArray = System.IO.File.ReadAllLines(textBox7.Text);
StringBuilder sb = new StringBuilder();
foreach (string line in sArray)
{
if (Regex.IsMatch(line, (textBox9.Text), RegexOptions.IgnoreCase) && !string.IsNullOrWhiteSpace(textBox9.Text))
{
sb.AppendLine(line);
}
if (Regex.IsMatch(line, (textBox10.Text), RegexOptions.IgnoreCase) && !string.IsNullOrWhiteSpace(textBox10.Text))
{
sb.AppendLine(line);
}
}
using (StreamWriter sw = new StreamWriter(textBox8.Text))
{
sw.Write(sb);
}
}
}
所以你想構建grep,對吧?我會使用'for'而不是'foreach'。通過這種方式,你有可能「知道」一個匹配的行號並做你想做的任何事情;-) –
嗯不知道什麼是grep,謹慎解釋? – KP123
我已經發布了一個小例子,你可以實現它。您必須每個單詞調用一次該方法。 –