我目前正在嘗試創建一個應用程序來執行一些文本處理來讀取文本文件,然後我使用字典創建字索引,讀取文本文件和檢查該單詞是否已經在該文件中。如果是這樣,它會打印索引號並繼續檢查。C#實現字典創建字索引
我試着實現一些代碼來創建字典。我使用的代碼如下:
private void bagofword_Click(object sender, EventArgs e)
{ //creating dictionary in background
Dictionary<string, int> dict = new Dictionary<string, int>();
string rawinputbow = File.ReadAllText(textBox31.Text);
string[] inputbow = rawinputbow.Split(' ');
foreach (String word in inputbow)
{
if (dict.ContainsKey(word))
{
dict[word]++;
}
else
{
dict[word] = 1;
}
}
var ordered = from k in dict.Keys
orderby dict[k] descending
select k;
using (StreamWriter output = new StreamWriter("D:\\output.txt"))
{
foreach (String k in ordered)
{
output.WriteLine(String.Format("{0}: {1}", k, dict[k]));
}
output.Close();
}
}
這裏是文本文件我輸入的一個示例:http://pastebin.com/ZRVbhWhV
快速ctrl-F
顯示,「不」時的2倍和「該」的發生的4倍。我需要做的是索引每個單詞,並調用它像這樣:
sample input : "that I have not had not that place" dictionary : output.txt: index word 5 1 I 1 2 have 2 3 had 4 4 not 3 5 that 4 6 place 5 6
有誰知道如何完成的代碼?任何幫助深表感謝!
'輸出。 Close()'在'using'語句中是多餘的。當'using'塊退出時,'output'將被關閉。 – Tim
你到底遇到了什麼問題? –
只需將單詞記錄到List中並對Count進行查找即可。 – Paparazzi