これは、CSVファイルを読み込み、その値を辞書クラスに追加し、テキストボックス内の文字列を分析して、その単語のどれかが辞書エントリと一致するかどうかを調べるプログラムです。略語(LOL、ROFLなど)を実際の言葉に置き換えます。入力されたテキストを個々の単語に分割して文字列を照合します。文字列の連結/上書き?
public void btnanalyze_Click(object sender, EventArgs e)
{
var abbrev = new Dictionary<string, string>();
using (StreamReader reader = new StreamReader("C:/Users/Jordan Moffat/Desktop/coursework/textwords0.csv"))
{
string line;
string[] row;
while ((line = reader.ReadLine()) != null)
{
row = line.Split(',');
abbrev.Add(row[0], row[1]);
Console.WriteLine(abbrev);
}
}
string twitterinput;
twitterinput = "";
// string output;
twitterinput = txtInput.Text;
{
char[] delimiterChars = { ' ', ',', '.', ':', '\t' };
string text = twitterinput;
string[] words = twitterinput.Split(delimiterChars);
string merge;
foreach (string s in words)
{
if (abbrev.ContainsKey(s))
{
string value = abbrev[s];
merge = string.Join(" ", value);
}
if (!abbrev.ContainsKey(s))
{
string not = s;
merge = string.Join(" ", not);
}
;
MessageBox.Show(merge);
}
これまでの問題は、最終的な文字列がテキストボックスに出力されていることですが、それは上書きとしてのみ最後の単語を印刷します。これは大学の割り当てなので、私は実際の答えではなく正しい方向へのプッシュを探しています。どうもありがとう!
、それはしかし、結果にスペースを追加しないでしょう。 – svick
私は確かに分かっていませんが、デバッガでループを進めてみましたか?私はそれが正しいように見える前にすべてを考えるので、ループがあなたの問題である可能性が最も高いです。 – sebsebmc