Contare le occorrenze di parole in una frase con LINQ

di Stefano Mostarda, in LINQ,

In fase di analisi e catalogazione di un articolo, un post o un testo in generale, può tornare utile suddividere le parole contandone le occorrenze. In questo modo si può facilmente catalogare il testo associandogli una o più categorie.

Per fare questo si deve ricorrere ad una GroupBy affiancadole l'uso del metodo Count. Prima di tutto si splitta il testo in base a dei caratteri predefiniti (spazi, apici, virgole, punti, etc etc) al fine di ottenere la lista delle parole. A questo punto, si costruisce il gruppo tramite la clausola GroupBy e si genera un nuovo oggetto per ogni parola. Questo oggetto contiene la parola stessa ed il numero di volte che occorre nella frase.

var s = "stefano daniele marco andrea riccardo cristian ugo ugo stefano alessio daniele christian";
var q = from parola in s.Split(' ')
  group parola by parola into newgroup
  select new { k = newgroup.Key, v = newgroup.Count() };

  lv.DataSource = q;
  lv.DataBind();

Per approfondimenti si veda:

#18 - Eseguire raggruppamenti tramite Group By con LINQ
https://www.winfxitalia.com/script/18/Eseguire-Raggruppamenti-Tramite-Group-BY-LINQ.aspx

#28 - Recuperare tutti gli oggetti di un certo tipo di una pagina ASP.NET con LINQ
https://www.winfxitalia.com/script/28/Recuperare-Oggetti-Certo-Tipo-Pagina-ASP.NET-LINQ.aspx

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi