Introdução
A classe String, do namespace System do .NET Framework é muito útil, provavelmente todos os desenvolvedores já utilizaram ao menos um método muito conhecido que retornar um objeto desse tipo, o ToString(). Para ajudar a suprir uma lacuna que há na internet de materiais detalhados sobre os métodos desta classe (neste artigo da DevMedia tem excelentes exemplos) este artigo traz um rápido overview sobre os mais utilizados, com alguns exemplos práticos.
Segundo a documentação do .NET Framework, a classe String contém nada menos que 44 métodos, onde temos 32 métodos públicos, 10 métodos que são membros estáticos e 2 métodos protegidos (do tipo protected), além de ter 37 métodos de extensão (os famosos Extensions Methods).
Mais informações podem ser obtidas na documentação oficial da MSDN, clicando aqui (em inglês).
Crie um projeto do tipo Windows Form e arraste para o form um Label, um TextBox e um Button, para que o mesmo fique parecidos com o form da Figura 1.
Figura 1: Formulário que usaremos nos exemplos
String.Format
Começando pelos métodos com membros estáticos, vamos falar do Format. Este método é uma mão na roda para os desenvolvedores que desejam formatar seus textos sem muitas preocupações, de uma forma rápida e simples.
Com o método Format criamos um padrão de formatação para a nossa string. Assim, dentro de nossa string podemos colocar alguns “tokens” que serão substituídos por parâmetros, que acrescentaremos ao final.
Por exemplo, dê dois cliques no botão do form para que seu evento click seja criado automaticamente. Nele adicione o código aprsentado na Listagem 1.
Listagem 1: String.Format aplicado a um TextBox
private void btnExibir_Click(object sender, EventArgs e) {
txtTexto.Text = String.Format("Posso incluir o número {0}, {1} e {2} aqui!",
10, 20, 30);
}
O método Format monta a lógica de substituir os “tokens” pelos respectivos parâmetros, que são passados logo após a primeira vírgula, como no código acima. Vemos o resultado na Figura 2.
Figura 2: Exemplo com String.Format
String.IsNullOrEmpty
O outro método com membro estático que iremos falar é o IsNullOrEmpty, muito útil para validar se o valor de um TextBox é nulo ou vazio. Na Listagem 2 vemos um exemplo com este método.
Listagem 2: Método IsNullOrEmpty em ação
if (String.IsNullOrEmpty(txtTexto.Text))
{
MessageBox.Show("Campo vazio!");
}
Simples assim, como ele é do tipo boolean a verificação se torna bem simples. Caso desejássemos fazer a negativa do código acima, bastaria adicionar uma exclamação (!) antes da chamada ao método.
Vejamos agora para alguns métodos públicos que, em geral, são os mais usados: Contains, Equals, Remove, Replace, Substring, ToLower, ToString e ToUpper.
Contains
Este método é parecido com o operador LIKE, da linguagem SQL. Sua função é verificar se uma determinada string contém o valor informado em seu parâmetro.
Veja na Listagem 3 um exemplo em que se busca a palavra String e, se achar, é exibida uma mensagem para usuário.
Listagem 3: Busca por parte de uma string com o método Contains
if (txtTexto.Text.Contains("String"))
{
MessageBox.Show("Você digitou String!");
}
O resultado pode ser visto na Figura 3.
Figura 3: Resultado do uso do método Contains
Equals
Este método é a forma elegante (boas práticas!) de usarmos o operador de comparação (==) em nossas instruções condicionais. Com ele verificamos, por exemplo, se uma string é igual a outra. Na Listagem 4 temos um exemplo de uso, onde verificamos se o texto digitado é exatamente igual a uma determinada string fixa.
Listagem 4: Verificação de igualdade com o método Equals
if (txtTexto.Text.Equals("String"))
{
MessageBox.Show("Você digitou String!");
}
Se a palavra digitada for "String" o resultado será o mesmo que o da Figura 4.
Remove
O método Remove, como o próprio nome sugere, serve para remover os caracteres de uma determinada string. Em uma de suas sobrecaragas ele pede como parâmetro o índice de início, do tipo int, o qual a partir dele tudo será removido até o final. Veja como remover a palavra "Server", de "SQL Server", na Listagem 5 (em apenas 1 linha!).
Listagem 5: Removendo partes de uma string
MessageBox.Show(txtTexto.Text.Remove(3));
Assim, a partir do índice 3 (lembrando que sempre começa em 0) tudo é removido. O resultado é exibido na Figura 4
Figura 4: Resultado do método Remove
Replace: outro método muito usado, o Replace é muito útil para substituir um trecho de uma string por outro valor. Veja um exemplo abaixo, na Listagem 6, onde substituimos a palavra "String" pela palavra "Integer", e o resultado é exibido na Figura 5.
Listagem 6: Substituindo um trecho de uma string
if (txtTexto.Text.Equals("String"))
{
MessageBox.Show(txtTexto.Text.Replace("String", "Integer"));
}
Figura 5: Resultado do método Replace
Substring
Com este método conseguimos recuperar partes de uma string, apenas informando o índice de início (em uma das sobrecargas), semelhante a como foi feito com o método Remove. Veja como pegar trechos de uma frase qualquer, na Listagem 7 e o resultado na Figura 6.
Listagem 7: Recuperando partes de uma string
MessageBox.Show(txtTexto.Text.Substring(6));
Figura 6: Resultado do método Substring
ToLower
Com este método conseguimos converter qualquer string para letras minúsculas. Veja como é bem simples seu uso, na Listagem 8 e o resultado na Figura 7.
Listagem 8: Fazendo a string ficar minúscula
MessageBox.Show(txtTexto.Text.ToLower());
Figura 7: Resultado do método ToLower
ToUpper
Função oposta ao método ToLower, que faz toda a string ficar maiúscula. Veja o exemplo na Listagem 9 e o resultado na Figura 8.
Listagem 9: Fazendo a string ficar maiúscula
MessageBox.Show(txtTexto.Text.ToUpper());
Figura 8: Resultado do método ToUpper
Fica como sugestão que vocês vejam os outros métodos que não foram abordados aqui, pois são extremamente úteis. Também é recomendado visitar a documentação oficial da classe String na MSDN.