獲取一篇文章中的單詞頻次(出現次數)
阿新 • • 發佈:2020-07-18
string text = @"var query = from info in infoList where info.AuditFlag == null || info.AuditFlag == false join emp in empList on info.SaleMan equals emp.EmployeeCode join house in houseList on info.WareHouse equals house.WareHouseCode join client in clientList on info.ClientCode equals client.ClientCode join dictPayMode in dictList on info.PayMode equals dictPayMode.ValueCode where dictPayMode.TypeCode == 'PayMode\' join dictInvoiceType in dictList on info.InvoiceType equals dictInvoiceType.ValueCode where dictInvoiceType.TypeCode == 'InvoiceType' select new { id = info.ID, SaleBillCode = info.SaleBillCode, SaleMan = emp.Name, SaleDate = info.SaleDate, Provider = client.ShortName, WareHouse = house.ShortName, PayMode = dictPayMode.ValueName, InvoiceType = dictInvoiceType.ValueName, InvoiceCode = info.InvoiceCode, AuditFlag = info.AuditFlag };"; //按單詞轉換為陣列 string[] allWords = text.Split(new char[] { '.', '?', '!', ' ', ';', ':', ',' }, StringSplitOptions.RemoveEmptyEntries); string[] distinctWords = allWords.Distinct().ToArray<string>();//去掉單詞陣列中重複的單詞 int[] counts = new int[distinctWords.Length];//建立一個存放詞頻統計資訊的陣列 for (int i = 0; i < distinctWords.Length; i++)//遍歷每個單詞 { string tempWord = distinctWords[i]; //計算每個單詞出現的次數 var query = from item in allWords where item.ToLower() == tempWord.ToLower()select item; counts[i] = query.Count(); } //輸出詞頻統計結果 for (int i = 0; i < counts.Count(); i++) { label1.Text+=distinctWords[i] + "出現 " + counts[i].ToString() + " 次\n"; }