Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,990 questions

51,935 answers

573 users

How to count the frequency of words in a string using Linq with C#

1 Answer

0 votes
using System;
using System.Linq;
using System.Text.RegularExpressions;

class Program
{
    static void Main() {
        var str = "cshart java c c++ c c c c java c c java python go rust python php php";

        var matches = new Regex("[a-z-A-Z']+").Matches(str);
        var words = matches.Select(m => m.Value).ToList();
        
        Console.WriteLine(string.Join(", ", words));
        
        var result = words
                .GroupBy(m => m)
                .OrderByDescending(e => e.Count())
                .Select(w => new { word = w.Key, Count = w.Count() })
                .Take(15);

        foreach (var r in result) {
            Console.WriteLine($"{r.word}: {r.Count}");
        }
    }
}
 
 
 
 
/*
run:
 
cshart, java, c, c, c, c, c, c, java, c, c, java, python, go, rust, python, php, php
c: 8
java: 3
python: 2
php: 2
cshart: 1
go: 1
rust: 1
 
*/

 

 



answered Jul 5, 2023 by avibootz

Related questions

1 answer 107 views
1 answer 121 views
1 answer 122 views
1 answer 117 views
1 answer 109 views
...