Usuário com melhor resposta
Como contar Palavras em TexBox C# ??????

Pergunta
-
Olá pessoal Bom dia, preciso da ajuda de vocês, estou com um probleminha aqui para contar Palavras de um textbox.
Funciona assim no textbox1 está configurado para ele remover uma determinada letra se for preenchido Ex:
textBox1.Text = textBox1.Text.Replace("C", "");
//então toda vez que ele for preenchido com a letra C,
ele removera do textbox.
E com um botão eu abro uma MessageBox.Show para exibir o resultado EX:
private void button1_Click(object sender, EventArgs e){ // Obtém o texto da caixa de texto string texto = textBox1.Text.Trim(); // Remove as quebras de linhas substituindo-as por // espaços texto = texto.Replace(Environment.NewLine, " "); // remove os espaços em excesso while(texto.IndexOf(" ") >= 0) texto = texto.Replace(" ", " "); // Obtém um array de palavras string[] palavras = texto.Split(' '); // Obtém a quantidade de palavras int quant = palavras.Length; // Exibe o resultado MessageBox.Show("O TextBox contém " + quant + " palavras."); }
PORÉM, MESMO O TEXTBOX ESTANDO VÁZIO ELE INFORMA QUE TEM UMA PALAVRA. Onde está o erro pessoal ???? Agradeço desde Já
PatrickALima
- Editado Patrick A Lima quarta-feira, 14 de janeiro de 2015 12:59 Correção
Respostas
-
Patrick,
Veja o método, aqui funcionou perfeitamente vazio e com palavras:
https://dotnetfiddle.net/qUhTua
Espero ter ajudado.
Wesley Lisboa
- Sugerido como Resposta Wesley Lisboa quarta-feira, 14 de janeiro de 2015 18:56
- Marcado como Resposta Patrick A Lima quinta-feira, 15 de janeiro de 2015 12:52
Todas as Respostas
-
Teste ai para ver se funciona:
private void button1_Click(object sender, EventArgs e){ // Obtém o texto da caixa de texto string texto = textBox1.Text.Trim(); // Remove as quebras de linhas substituindo-as por // espaços texto = texto.Replace("\n", " "); // remove os espaços em excesso texto = texto.Trim(); // Obtém um array de palavras string[] palavras = texto.Split(' '); // Obtém a quantidade de palavras int quant = palavras.Trim().Length; // Exibe o resultado MessageBox.Show("O TextBox contém " + quant + " palavras."); }
-
Patrick,
Bom dia..
Tente assim:
// Obtém um array de palavras
string[] palavras = texto.Split(new Char [] {' '});Abraços
Marcio S Silva | MCP |marsosil@ovi.com|http://marsosi.blogspot.com.br
- Sugerido como Resposta Márcio S Silva quarta-feira, 14 de janeiro de 2015 13:34
-
-
Ola, cara tente fazer um tratamento para não receber texto vazios, pois pode ser q durante sua logica ele acabe adicionando algum caractere especial no texto, então para garantir :
if (textbox1.text != String.Empty || textbox1.text != ""){//essas duas validações é para tentar cobri o máximo possível
//so entra aqui se tiver algum texto
//adicione sua logica aqui
}
espero ter ajudado
-
Patrick,
Veja o método, aqui funcionou perfeitamente vazio e com palavras:
https://dotnetfiddle.net/qUhTua
Espero ter ajudado.
Wesley Lisboa
- Sugerido como Resposta Wesley Lisboa quarta-feira, 14 de janeiro de 2015 18:56
- Marcado como Resposta Patrick A Lima quinta-feira, 15 de janeiro de 2015 12:52
-