0

我试图弄清楚如何找到某个字符串并显示它在文本文件中的行数。

例如,假设我试图在文本文件中查找字符串“I'm a string”,然后将字符串的位置(如下行)记录在变量中。

任何人都有任何提示也可以做到这一点?

谢谢

4

3 回答 3

2

首先,我会读入文件,然后遍历每一行搜索文本。就像是...

string[] lines = System.IO.File.ReadAllLines(@"C:\file.txt");

int count = 0;
foreach (string line in lines)
{
    count++;
    if (line.indexOf("I'm a string") > -1) {
       // found it
    }    

}
于 2012-07-27T03:14:34.407 回答
0

由于这看起来像一个硬件问题,我不会发布完整的解决方案,而只会发布指针和指南。

您基本上想逐个字母地扫描整个文本文件,读取接下来的 n 个字符,其中 n 是您的搜索字符串的长度。如果该集合与您的搜索字符串匹配,那么您就有了答案。您遇到的“\n”数是您必须遍历的行数。

也存在更简单的正则表达式解决方案。您应该尝试查看这些解决方案。

于 2012-07-27T03:11:25.137 回答
0

比 ReadAllLines 更好:

public static IEnumerable<string> ReadLines(string path)
于 2012-07-27T03:55:53.970 回答