如何在文本文件中查找字符串的位置
问题描述:
我在弄清楚如何找到某个字符串并在文本文件中显示它向下多少行。如何在文本文件中查找字符串的位置
例如,让我们说我试图在文本文件中找到字符串“我是字符串”,然后也将字符串的位置(如线条向下)记录在变量中。
任何人有任何提示也可以做到这一点?
感谢
答
首先,我会在文件中读取,然后遍历每一行搜索文本。喜欢的东西...
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
}
}
答
因为这看起来像一个硬件问题,我不会公布完整的解决方案,但只有指针和准则。
你基本上想要扫描整个文本文件,逐字母扫描,读取下n个字符,其中n是您的搜索字符串的长度。 如果该集合与您的搜索字符串相匹配,则您有答案。 你遇到的“\ n”的数量是你必须穿过的行数。
也存在更简单的正则表达式解决方案..你应该尝试看看那些。
答
比ReadAllLines更好:
public static IEnumerable<string> ReadLines(string path)
这个解决方案完美运作。 – 2017-03-09 06:27:02