c#计算txt文件中特定单词的出现次数

c#计算txt文件中特定单词的出现次数,c#,console,C#,Console,我无法计算文件中字符串“IMAGE”的发生时间?我的代码错了吗?根据“\b”匹配一个退格。这也许可以解释为什么不匹配正则表达式。试试这段代码 static void Main(string[] args) { StreamReader oReader; if (File.Exists(@"C:\cmd.txt")) { Console.WriteLine("IMAGE"); strin

我无法计算文件中字符串“IMAGE”的发生时间?我的代码错了吗?

根据“\b”匹配一个退格。这也许可以解释为什么不匹配正则表达式。

试试这段代码

    static void Main(string[] args)
    {
        StreamReader oReader;
        if (File.Exists(@"C:\cmd.txt"))
        {
            Console.WriteLine("IMAGE");
            string cSearforSomething = Console.ReadLine().Trim();
            oReader = new StreamReader(@"C:\cmd.txt");
            string cColl = oReader.ReadToEnd();
            string cCriteria = @"\b" + cSearforSomething + @"\b";
            System.Text.RegularExpressions.Regex oRegex = new System.Text.RegularExpressions.Regex(cCriteria, RegexOptions.IgnoreCase);



            int count = oRegex.Matches(cColl).Count;
            Console.WriteLine(count.ToString());
        }
        Console.ReadLine();
    }
使用制度; 使用System.Text.RegularExpressions

命名空间控制台应用程序8 { 班级计划 {


}

不要使用
File.Exists()
。在这种情况下,如果打开文件失败,您应该只处理异常。@JoelCoehoorn仍然无法计算mytxt文件中发生的时间。您可以在此处使用Linq.cCol1.Count(x=>x==cSearchForSomething)@RohitGarg OP不想计算单个字符。那么,代码做什么呢?如果它是“无”,那么可能是时候听取Joel的评论了-可能是存在检查甚至没有通过吗?“在字符类中,[\b]匹配一个退格,\u0008。”-字符类之外的\b匹配一个单词边界。”[\b字符类之外]匹配必须发生在\w(字母数字)和\w(非字母数字)字符之间的边界上。“为什么OP应该尝试它?什么可能使它“工作”?它看起来和原来的一样,稍微整理了一下。@user2864740我不知道是什么使OP的代码不工作。它可能是
File.Exists
check或其他什么。我重写OP的代码时没有
文件。Exists
检查,在我这边测试它,确保它工作正常,让OP试试看在等待OP的反馈时,可能会出现一些异常情况,但OP接受了,我不知道为什么。
public static void Main()
{
    var str = File.ReadAllText(@"C:\cmd.txt");
    var searchTerm = "IMAGE";

    var matches = Regex.Matches(str, @"\b" + searchTerm + @"\b", RegexOptions.IgnoreCase);

    Console.WriteLine(matches.Count);
    Console.ReadLine();            
}  
    static void Main(string[] args)
    {
        string cColl = System.IO.File.ReadAllText(@"C:\some.txt");
        //string cColl = "This is similar, similar, similar, similar, similar, similar";
        Console.WriteLine(cColl);

        string cCriteria = @"\b" + "similar" + @"\b";
        Regex oRegex = new Regex(cCriteria, RegexOptions.IgnoreCase);
        int count = oRegex.Matches(cColl).Count;
        Console.WriteLine(count.ToString());

        Console.ReadLine();
    }




}