2012-07-27 130 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)