2012-07-27 132 views
0

我在弄清楚如何找到某个字符串并在文本文件中显示它向下多少行。如何在文本文件中查找字符串的位置

例如,让我们说我试图在文本文件中找到字符串“我是字符串”,然后也将字符串的位置(如线条向下)记录在变量中。

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

感谢

回答

1

首先,我会在文件中读取,然后遍历每一行搜索文本。喜欢的东西...

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 
    }  

} 
+0

这个解决方案完美运作。 – 2017-03-09 06:27:02

0

因为这看起来像一个硬件问题,我不会公布完整的解决方案,但只有指针和准则。

你基本上想要扫描整个文本文件,逐字母扫描,读取下n个字符,其中n是您的搜索字符串的长度。 如果该集合与您的搜索字符串相匹配,则您有答案。 你遇到的“\ n”的数量是你必须穿过的行数。

也存在更简单的正则表达式解决方案..你应该尝试看看那些。

+0

其实不是功课:P上的一个小的密码管理器应用程序工作实践中存储密码的文件,我必须有办法找到它们,感谢没有那么少:D – qwesr 2012-07-27 03:17:00

+0

你可能想尝试一个基于正则表达式的解决方案。在这种情况下,以一个额外的库为代价进行编码将会快得多。 – darnir 2012-07-27 03:18:38

0

比ReadAllLines更好:

public static IEnumerable<string> ReadLines(string path) 
相关问题