Vasculhando os fóruns ASP.NET novamente esta manhã, eu sei que faço muito isso, encontrei uma pergunta ao tentar analisar os parágrafos de uma série de texto. Então eu sabia que tinha que responder. A expressão regular necessária é'(. +)’. Isso informa ao objeto Expressão regular para corresponder a uma série de um ou mais caracteres relacionados a palavras. Isso significa que ele agrupará correspondências para um parágrafo, indicado por uma linha ou retorno de carro. O código para esta solução seria semelhante a este:
public
estático
MatchCollection GetParagraphs () {usando
(StreamReader sr=novo
StreamReader (@"{Caminho para o arquivo Sampel} \ SampleText.txt"
)) {string
textFromFile=sr.ReadToEnd (); Regex rg=novo
Regex (@"(. +)"
);return
rg.Matches (textFromFile); }}
Pensei em estender isso para obter uma contagem de palavras, bem como todas as palavras. Nesse caso, a expressão é'(\ w +)’.
public
estático
MatchCollection GetWords () {usando
(StreamReader sr=novo
StreamReader (@"{Caminho para o arquivo Sampel} \ SampleText.txt"
)) {string
textFromFile=sr.ReadToEnd (); Regex rg=novo
Regex (@"(\ w +)"
);return
rg.Matches (textFromFile); }}
Chamando o RegEx.Matches retorna um MatchCollection , que tem uma propriedade Count, pode ser usada para obter a contagem de correspondências. Também pode ser enumerado para obter as correspondências reais.
público
estático
void
WriteMatchCollectionResults (MatchCollection mc) {Console.WriteLine (mc.Count);foreach
(Corresponder mem
mc) {Console.WriteLine (m.Value); } Console.WriteLine ("..........................................."
); Console.WriteLine (""
);}