私は、.csファイルをとり、ファイルを読み込み、最も頻繁な単語をファイルに返す小さなプロジェクトを作成しました。しかし、今では、最も一般的な単語がコンマであることを返します。 文字列を分割してコンマを無視する方法はありますか?コンマを無視して文字列を分割する方法C#?
例えば:
:私は、文字列を持っています。 ? AA、B CDEF cfed、ABEF ABEF ABEF、
、今では最も一般的な単語が「ABEF」であることを返し、それが(2回発生した第三ABEFをカウントしないプログラム、である1最後にコンマ)
別の例:。
、。 ? AAは、CDEF cfed、ABEF ABEF ABEF、A、B、
この権利は今「」最も一般的な単語がコンマであることを返し、それが3回発生したが、事はある - 私は私のプログラムを無視したいですカンマと単語だけに焦点を当てます。
namespace WindowsFormsApp8
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private async void button1_Click(object sender, EventArgs e)
{
using (OpenFileDialog ofd = new OpenFileDialog() { Filter = "Text Documents |*.cs;*.txt", ValidateNames = true, Multiselect = false }) //openfiledialog (all .cs; all.txt)
{
if (ofd.ShowDialog() == DialogResult.OK) //if in file dialog a file gets selected
{
using (StreamReader sr = new StreamReader(ofd.FileName)) //text reader
{
richTextBox1.Text = await sr.ReadToEndAsync(); //reads the file and returns it into textbox
}
}
}
}
private void button2_Click(object sender, EventArgs e)
{
string[] userText = richTextBox1.Text.ToLower().Split(' ');
var frequencies = new Dictionary<string, int>(); // variable frequencies, dictionary with key string, value int.
string highestWord = null; //declare string highestword with starting value null.
int highestFreq = 0; //declare integer highestfreq with starting value zero.
foreach (string word in userText) //search words in our array userText that we declared at the beginning.
{
int freq; //declare integer freq.
frequencies.TryGetValue(word, out freq); //trygetvalue from dictionary key, out value.
freq += 1; //count it.
if (freq > highestFreq)
{
highestFreq = freq;
highestWord = word;
}
frequencies[word] = freq; //assign most frequent word in frequencies dictionary to freq
}
MessageBox.Show("the most occuring word is: " + highestWord + ", it occured " + highestFreq + " times"); //display data to messagebox.
}
}
}
あなたのコードを教えてください。どのようにこれをやっているかによって、これは1行のコードまたは5行になる可能性があります。 – Amy
残念ですが、コードが追加されました –
FYI、 "//開始値がNULLの最上位の文字列を宣言してください"まったく価値がありません。次のコードからは、null値を持つ変数を宣言していることは明らかです。そのようなコメントはちょうど混乱です。 – Amy