Manipulando Strings
Manipular strings é fundamental para o desenvolvimento de qualquer aplicação. Os métodos para isso são diversos e vou citar os mais utilizados. Vamos começar pela concatenação simples, que consiste no fato de somar duas variáveis do tipo string. Vejam esse exemplo:
A impressão da variável concatenada será:
Percebam que houve uma fusão do conteúdo das duas variáveis dentro da variável concatenada. Esta é a forma mais simples de concatenação de strings.
Método Substring
Esse importante método serve para permitir que separemos apenas uma parte de uma string. Ao chama-lo devemos dizer a partir de qual posição da string ele deve começar a atuar e por quantos caracteres ele atuará. É mais simples do que parece. Imaginemos uma string contendo a seguinte frase:
“C# é muito legal!”.
Se quiséssemos pegar apenas a palavra “muito”, deveríamos fazer da seguinte forma:
string teste = "C# é muito legal!";
string pedaco = teste.Substring(5,5);
Comentando esse pequeno trecho, teremos:
Agora vejam a impressão da variável “pedaco”:
O método Substring também aceita a passagem de somente um parâmetro. Quando isso acontece ele entende esse valor como sendo o caractere de início da ação, e, como não há um valor informando quantos caracteres ele deve ler, isso será feito até o término da string. Vejam abaixo:
Vejam a execução:
Método ToUpper
Esse método é muito simples. Ele simplesmente pega toda a string e a deixa em letras maiúsculas.
Agora a variável “variavelNova” tem todos os seus caracteres em maiúsculo.
Método ToLower
Ao contrário da ToUpper, a ToLower deixa todos os caracteres da String minúsculos.
Método StartsWith
Esse método retorna um booleano sempre que encontra uma string que inicie com o parâmetro passado para ela. Vejam um exemplo:
Executando teremos:
Método EndsWith
Como o próprio nome sugere, esse método é o contrário do StartsWith. Ele verifica se uma string termina com determinada sequência de caracteres recebida como parâmetro.
No Console teremos:
Método Trim
Esse também é um método bastante interessante. Ele remove todos os espaços em branco contido em strings.
Criei esse código e deixei vários espaços em branco, tanto no início quanto no final da string.
No entanto, a variável nova não conterá estes espaços, conforme ilustra a execução abaixo:
Vale ressaltar que o método Trim possui duas variações, que são o TrimStart e o TrimEnd. O primeiro remove espaços em branco apenas no início da string e o segundo remove apenas no final.
Métodos PadLeft e PadRight
Os métodos PadLeft e PadRight realizam um preenchimento na string, deixando-a com o tamanho que você desejar. Imagine que você tenha uma pequena string, de apenas dois caracteres, mas por alguma razão (normalmente usa-se isso para realizar validação de dados) queira que ela tenha 5 caracteres. Isso pode ser feito através do PadLeft ou PadRight. O primeiro efetua o preenchimento à esquerda, enquanto o segundo o faz à direita. Vamos a um exemplo para deixar bem claro:
Se tudo deu certo, agora a variável “nova” terá 5 caracteres, sendo que os três primeiros serão espaços vazios. Vejamos no Console se isso realmente aconteceu:
Vejam que a string parece deslocada, mas na verdade ela está com 3 caracteres de espaço inseridos antes do “Oi”.
Também é importante comentar que é possível escolher com qual caractere esse preenchimento acontecerá. No exemplo acima, como não especificamos nada, foram colocados espaços em branco, mas poderíamos, por exemplo, querer que fossem colocados caracteres “x”. Dessa forma nosso comando ficaria da seguinte forma:
Vejamos agora se o preenchimento aconteceu corretamente no Console:
Agora a variável contém 3 caracteres “x” no seu início. Tudo o que foi dito e feito com o PadLeft vale para o Right, mas tudo acontecerá do lado direito da string.
Método Split
Esse método pode dividir uma string e armazena-la em um vetor. A divisão acontecerá sempre que ela encontrar, dentro da string, um caracter previamente definido. É simples. Imaginemos uma string contendo uma data, da seguinte forma:
String data = 15/04/2012;
Agora, supondo que queiramos separar o dia, o mês e o ano, faremos uso do método Split da seguinte forma:
O comando foreach foi colocado apenas para exibir todo o vetor "Partes". Vejamos como ele ficou:
Notem que em cada posição do vetor foi colocada uma parte da variável data e o caractere que delimitou essas partes foi o ‘/’.
Método Join
Esse método faz exatamente o contrário do Split. Ele promove a fusão de dados contidos em vetores para uma única string, permitindo que especifiquemos, no seu primeiro parâmetro, um separador para eles. Vejam o exemplo:
Vejam a saída:
Apenas para deixar bem claro o papel do primeiro parâmetro, que no exemplo acima era um espaço em branco, vou fazer outro exemplo, agora colocando um hífen, da seguinte forma:
Notem a diferença:
Método Replace
Outro método muito importante, principalmente para a validação de dados antes de envia-los a um banco de dados, por exemplo, é o Replace, que é capaz de substituir caracteres por outro previamente definido.
Imagine que você tenha um valor monetário capturado no formato R$ 250,00, mas para passa-lo ao banco de dados deve estar no formato R$ 250.00. Vejam como isso seria fácil com o Replace:
Imprimindo a variável novoValor, teremos:
Notem que a vírgula foi substituída pelo ponto. Esse método permite trocar qualquer coisa por qualquer coisa. Poderíamos, por exemplo, trocar uma palavra inteira por outra ou ainda mais de uma palavra por apenas outra, conforme o exemplo abaixo:
Imprimindo a variável, teremos:
Esse foi o método Replace. Sem dúvida você não viverá sem ele!
Método IndexOf
Este método nos informa em qual posição de uma string um determinado caractere está ou uma sequência de caracteres começa. É bem simples e útil, vejam:
Como o retorno dessa função é um número inteiro que indica a posição do caractere na string, defini a variável ‘posicao’ para recebê-lo.
Vejamos a saída:
Como procurávamos o caractere ‘p’, ele retornou a posição 7, pois o início da contagem é sempre a partir do zero.
Caso procurássemos uma sequência maior de caracteres, ele retornaria a posição do primeiro caractere dela, ou seja, a posição em que ela se inicia, conforme o exemplo abaixo:
Rodando esse código teremos:
Caso procurássemos um caractere ou um trecho que não está presente na string, ele retornaria o valor -1.
Esse foi o método IndexOf e com ele encerro a sequência de métodos que selecionei para manipular strings. Caso algum deles não tenha ficado claro, leia novamente sua explicação. Eles serão muito úteis para o desenvolvimento de qualquer aplicação.