繁体   English   中英

如何在文件 C# 中显示所有出现的特定单词

[英]How to display all occurrences of specific words in a file C#

我正在尝试使用OpenFileDialog从文件中读取所有文本/行(无论哪种文件都无关紧要),并且只提取 C# 关键字(我已经将关键字输入到string中)-但是,我可以' t 似乎弄清楚如何提取所有事件。 我不想计算它们,比如count++ ,我想在RichTextBox中显示出现次数

这是仅第一次出现的代码:

        string keywords = @"\b(default|delegate|do|else|event|explicit|extern|false|finally|fixed|for|foreach|goto|if|implicit|in|interface|internal|is|lock|namespace|new|null|object|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|switch|this|throw|true|try|typeof|unchecked|unsafe|using|virtual|volatile|while)\b";         
        MatchCollection matches = Regex.Matches(File.ReadAllText(ofdd.FileName), keywords);              
        foreach (Match match in matches)
        {
            richTextBox1.Text = (match.Groups[1].Value);
        }

-我知道我忘记了abstract等关键字。

该代码仅执行部分工作:(我需要它来显示所有出现的keywords string

知道如何显示所有事件吗?

我终于从不同网站上的许多不同答案中创建了这段代码,并且效果很好:

               string[] keys = { "abstract", "as", "base", "break", "case", "catch", "checked", "continue", "default", "delegate", "do", "else", "event", "explicit", "extern", "false", "finally", "fixed", "for", "foreach", "goto", "if", "implicit", "in", "interface", "internal", "is", "lock", "namespace", "new", "null", "object", "operator", "out", "override", "params", "private", "protected", "public", "readonly", "ref", "return", "sealed", "sizeof", "stackalloc", "switch", "this", "throw", "true", "try", "typeof", "unchecked", "unsafe", "using", "virtual", "volatile", "while" };

                    char[] separators = new char[] { ',', ' ', '\r', '\n', '.' };

                    String[] strings = data.Split(separators);
                    StringBuilder stringBuilder = new StringBuilder();
                    foreach (var item in strings)
                    {
                        if (keys.Contains(item))
                        {
                            stringBuilder.Append(item + " ");
                            count = item.Length;
                        }
                    }
                    string theOutputDesire = stringBuilder.ToString();

data将是输入,例如,如果文件或字符串包含publicpeopleempty ,则只会显示public

count是文件中出现的次数,例如,如果文件包含publicpublicpeople ,则count将为2

keys包含我们正在寻找的文本。 它可以根据您的需要进行修改。

我希望这可以帮助其他寻找答案的人!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM