我需要幫助解決我的問題:我如何通過字符串循環並找出有多少單詞?
現在我有一個包含按鈕和文本框的窗體的WPF應用程序。
此外,我有一個打開的文件目錄 - 打開.cs和.txt文件。
我需要遍歷這些文件的字符串,並顯示最常用的單詞,從最大到最小。
例如,一個字符串是:
「太陽是明亮的太陽是黃色的。」
將返回:
的= 2;
sun = 2;
is = 2;
bright = 1;
yellow = 1;
我的代碼的權利,截至目前:
private void btn1_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog() { Filter = "Text Documents |*.cs;*.txt", ValidateNames = true, Multiselect = false };
if (ofd.ShowDialog() == true)
rtb.Text = File.ReadAllText(ofd.FileName);
string[] userText = rtb.Text.ToLower().Split(new char[] { ' ', ',', '=', '+', '}', '{', '\r', '\n', '(', ')', ';' }, StringSplitOptions.RemoveEmptyEntries);
var frequencies = new Dictionary<string, int>();
foreach (string word in userText) //search words in our array userText that we declared at the beginning.
{
}
}
我不知道如何從這裏繼續...幫助表示讚賞。
我會考慮讓你'Dictionary'不區分大小寫...'變種頻率=新詞典 (StringComparer.CurrentCultureIgnoreCase);' –
bigtlb
謝謝你的解決方案!我如何將返回值放入文本框? –
如果您有一些TextBox'txt',那麼只需設置'txt.Text'字段。 'txt.Text = string.Join(「\ r」,frequencies.Select(kvp => $「Word:{kvp.Key} Frequency:{kvp.Value}」)。ToArray())'。儘管使用ListBox並將每行分配給ListBoxItem可能會更好。 – bigtlb