private void ExtrairPalavra(Paragrafo paragrafo, Regex regex) { ContarPalavrasDoParagrafo(paragrafo, regex); paragrafo.Palavras.ForEach(palavra => { var ocorrencia = Palavras.FirstOrDefault(m => m.Texto == palavra.Texto); if (ocorrencia != null) { ocorrencia.QuantidadeOcorrencias += palavra.QuantidadeOcorrencias; } else { Palavras.Add(new Palavra() { Texto = palavra.Texto, QuantidadeOcorrencias = palavra.QuantidadeOcorrencias }); } }); }
private static void ContarPalavrasDoParagrafo(Paragrafo paragrafo, Regex regex) { var correspondencias = regex.Matches(paragrafo.Texto); paragrafo.QuantidadeDePalavras = correspondencias.Count; foreach (Match ocorrencia in correspondencias) { var palavra = paragrafo.Palavras.FirstOrDefault(m => m.Texto == ocorrencia.Value); if (palavra != null) { palavra.QuantidadeOcorrencias++; continue; } paragrafo.Palavras.Add(new Palavra() { QuantidadeOcorrencias = 1, Texto = ocorrencia.Value }); } }