c#计算txt文件中特定单词的出现次数
我无法计算文件中字符串“IMAGE”的发生时间?我的代码错了吗?根据“\b”匹配一个退格。这也许可以解释为什么不匹配正则表达式。试试这段代码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
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();
}
}