제가 연구중인 응용 프로그램에서 키워드 검색기를 만들었습니다. 사용자는 텍스트 파일을 업로드합니다 (작업을위한 것이므로 수천 줄의 메시지가있는 txt 파일이 될 것입니다). 검색을 위해 여러 단어를 입력 할 수 있으며 응용 프로그램은 해당 입력이있는 모든 행을 가져옵니다. 유일한 문제는 복사중인 행의 위와 아래에있는 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을 만들고 싶습니다. 그렇습니까? 나는 foreach 대신에 for를 사용할 것이다. 이 방법으로 일치의 행 번호를 "알거나"원하는대로 할 수 있습니다. –
음, grep이 무엇인지 모릅니다. 설명해 주시겠습니까? – KP123
나는 그것을 달성 할 수있는 방법을 약간의 예를 게시했습니다. 단어 당 한 번씩 메서드를 호출해야합니다. –