c# - 字符串连接/覆盖?

标签 c# string concatenation

这是一个程序,它读取 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);

                }

到目前为止的问题是最终的字符串被输出到文本框中,但在覆盖时只打印最后一个单词。这是一项大学作业,所以我正在寻找正确方向的插入力,而不是实际的答案。非常感谢!

最佳答案

string.Join() 获取字符串集合,将它们连接在一起并返回结果。但就您而言,集合仅包含一项:,或

为了使您的代码正常工作,您可以使用以下内容:

merge = string.Join(" ", merge, value);

但是由于字符串的工作方式,这会非常慢,因此您应该使用StringBuilder

关于c# - 字符串连接/覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10367821/

相关文章:

c# - ListView Group Header 无法解析绑定(bind)属性

c# - 为什么超出范围的索引不会为 Regex GroupCollection 抛出异常?

c# - 从 2.1 迁移到 3.1 .Net Core,Microsoft.AspNetCore.App 的替代品是什么?

swift - 如何屏蔽 Swift 中的最后一个数字?

python - 像在 MATLAB 中一样在 Python 中连接矩阵/向量?

c# - SqlQuery 到 [NotMapped] 字段?

c# - 哪一个是清除字符串生成器的性能明智的?

c# - 递增字符串中的数字 (C#)

MySQL,Concat int 并保存到变量并使用带有 'IN' 或 'NOT IN' 的变量

python - 合并2个以上的python pandas数据框