No desenvolvimento de software, uma tarefa comum é contar quantos caracteres (ou até caracteres específicos) estão presentes em uma string. Se você trabalha com C# e deseja realizar essa operação, vou mostrar como fazer isso de maneira simples e eficiente. Neste post, aprenda como contar char numa string em C# de forma eficiente.
Usando C# para contar caracteres em uma String
Em C#, a string é um tipo imutável, ou seja, quando você manipula uma string, na verdade, está criando uma nova instância dela. Felizmente, o C# oferece métodos poderosos para trabalhar com strings de forma eficaz.
Aqui estão algumas maneiras de contar caracteres em uma string no C#:
1. Contando o número total de caracteres
A maneira mais direta de contar o número total de caracteres em uma string é usar a propriedade .Length
, que retorna o comprimento da string, ou seja, o número de caracteres que ela contém.
Exemplo:
string frase = "Olá, mundo!";
int totalCaracteres = frase.Length;
Console.WriteLine($"Número total de caracteres: {totalCaracteres}");
Saída:
Número total de caracteres: 11
Código que conta todos os caracteres, incluindo espaços e pontuações. A string “Olá, mundo!” tem 11 caracteres no total:
2. Contando a ocorrência de um caractere específico
Se você quiser contar quantas vezes um caractere específico aparece em uma string, pode usar o método Count()
combinado com uma função lambda para filtrar o caractere desejado.
Exemplo:
using System;
using System.Linq;
string frase = "Olá, mundo!";
char caractereEspecifico = 'o';
int contador = frase.Count(c => c == caractereEspecifico);
Console.WriteLine($"O caractere '{caractereEspecifico}' aparece {contador} vezes.");
Saída:
O caractere 'o' aparece 2 vezes.
Neste exemplo, a função Count()
percorre cada caractere da string e conta quantas vezes o caractere ‘o’ aparece.
3. Contando caracteres ignorando maiúsculas e minúsculas
O C# diferencia letras maiúsculas de minúsculas por padrão. Se você quiser contar um caractere sem considerar isso (ou seja, tratar ‘A’ e ‘a’ como iguais), pode converter a string para letras minúsculas ou maiúsculas antes de fazer a contagem.
Exemplo:
using System;
using System.Linq;
string frase = "Olá, Mundo!";
char caractereEspecifico = 'o';
int contador = frase.ToLower().Count(c => c == caractereEspecifico);
Console.WriteLine($"O caractere '{caractereEspecifico}' aparece {contador} vezes, ignorando maiúsculas e minúsculas.");
Saída:
O caractere 'o' aparece 2 vezes, ignorando maiúsculas e minúsculas.
Aqui, a string é convertida para letras minúsculas com ToLower()
, garantindo que tanto ‘O’ quanto ‘o’ sejam tratados da mesma forma.
4. Contando todas as ocorrências de caracteres alfabéticos
Se você deseja contar todas as ocorrências de caracteres alfabéticos na string (ignorando espaços, pontuações e números), pode usar o método char.IsLetter()
para filtrar apenas as letras.
Exemplo:
using System;
using System.Linq;
string frase = "Olá, mundo! 123";
int contadorLetras = frase.Count(c => char.IsLetter(c));
Console.WriteLine($"A frase contém {contadorLetras} letras.");
Saída:
A frase contém 9 letras.
Nesse caso, o método char.IsLetter()
conta apenas os caracteres que são letras, ignorando números, espaços e símbolos.
Outro exemplo
Com o “foreach” a string é percorrida até que se ache, ou não, o caracter passado como parâmetro. Veja:
public int verifCharDig(char dig, string str) {
int tam = str.Length; //pega o tamanho da string
//inicia variável que vai armazenar a qtde de vezes em que o char aparece na string
int qtde = 0;
foreach (char ch in str) { //percorre a string...
//se o caractere informado for igual ao caractere da posição atual da string...
if (ch == dig)
qtde++; //soma-se uma unidade a variável
}
return qtde; //retorna a qtde de vezes em que o char apareceu na string
}
/* Para usar o método, faça: *\
string palavra = textBox.Text;
//verifica se a qtde de caracteres ',' é maior que 1 na string
if (verifCharDig(',', palavra) > 1)
MessageBox.Show("Existem mais de um caractere ',' na string");
Contar caracteres em uma string no C# é uma tarefa simples, mas pode ser adaptada de várias formas conforme a sua necessidade.
Você pode contar todos os caracteres, caracteres específicos, ignorar maiúsculas e minúsculas ou até mesmo contar apenas caracteres alfabéticos. A linguagem C# fornece ferramentas poderosas como Length
, Count()
e funções auxiliares que facilitam esse processo.
CONHEÇA O CURSO COMPLETO DE C# COM + DE 100 AULAS PRÁTICAS. Tenha acesso vitalício e certificado de conclusão.
CLIQUE NA IMAGEM ABAIXO E CONFIRA MAIS DETALHES:
Dúvidas ou sugestões sobre como contar char numa string em C#? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários