1. 程式人生 > 實用技巧 >獲取一篇文章中的單詞頻次(出現次數)

獲取一篇文章中的單詞頻次(出現次數)

  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"; }