Strings – Como Manipular – C#

Já sabemos que podemos utilizar variáveis do tipo String em nossos aplicativos.

 

Um dos usos mais comuns deste tipo de objeto é quando manipulamos um texto para exibir ao usuário baseado em dados informados por ele. Podemos mostrar uma mensagem de saudação com o nome do usuário quando ele se autenticar no aplicativo, por exemplo.

 

Veremos neste artigo algumas operações básicas de como manipular Strings, ou seja, como podemos “brincar” com texto dentro de nossos sistemas, seja para mostrar uma mensagem para o usuário, seja para gravar um log, etc…

 

Criando Uma Nova String

 

Os objetos do tipo String podem ser criados de várias formas.

 

Podemos fazer uma atribuição simples ou usar uma sobrecarga (overload) para criar uma nova string usando um número de parâmetros diferentes.

 

 

Ou podemos utilizar um dos vários métodos que criam novas Strings combinando várias outras Strings, Arrays ou Objetos. Alguns exemplos destes métodos são: String.Format, String.Concat, String.Join, String.Insert, String.CopyTo…

 

Veja abaixo um exemplo utilizando o String.Format para exibir uma mensagem com a data do sistema (DateTime.Now):

 

 

Cortando E Removendo Caracteres

 

Existem algumas situações em que precisaremos “cortar” ou remover alguns caracteres. Podemos fazer este tipo de operação utilizando os métodos abaixo.

 

Trim

 

O método Trim remove os espaços em branco no início e no final do conteúdo da String.

 

 

TrimStart  e TrimEnd

 

Os métodos TrimStart e TrimEnd removem os espaços em branco no início ou no final (respectivamente) do conteúdo da String.

 

 

Remove

 

O método Remove, como o nome já diz, remove um determinado número de caracteres a partir de uma posição especificada.

 

 

Preenchendo Strings

 

Já tive que criar programas que “montavam” arquivos do tipo texto para integração de informações com outros sistemas. Alguns destes sistemas utilizavam arquivo texto posicional, ou seja, todas as linhas do arquivo deveriam ter o mesmo tamanho.

 

Por isso, precisava formatar os campos dentro deste arquivo para que cada campo dele ficasse com o mesmo comprimento.

 

 

PadLeft

 

O método PadLeft cria um novo String “juntando” caracteres de preenchimento à esquerda até que o comprimento atinja o total especificado.

 

No exemplo do arquivo texto que citei acima, o campo de código (que era inteiro) deveria possuir 17 posições. Para formatar o registro de código 200, precisaria completar o restante com zeros: 00000000000000200.

 

Ao invés de compor a string com algo do tipo “00000000000000000”, utilizei o método PadLeft para preencher a string com zeros a esquerda. Veja um exemplo abaixo.

 

 

PadRight

 

Já o método PadRight cria uma nova String concatenando os caracteres de preenchimento à direita da string original até o comprimento desejado.

 

Voltando ao arquivo texto, um outro campo deveria mostrar a descrição do um evento com 200 posições e espaços a direita. Veja um exemplo abaixo.

 

 

Comparando Strings

 

Outra situação bem comum é comparar textos, sejam elas vindas do usuário, da base de dados ou de outro sistema.

 

Para nos auxiliar nesta tarefa, existem vários métodos de comparação na biblioteca .NET:

 

Compare Compara duas strings
CompareOrdinal Compara duas strings sem considerar configurações regionais
CompareTo Compara a string atual com outra string
StartsWith Verifica se a String começa com outra string passada como parâmetro
EndsWith Verifica se a String termina com outra string passada como parâmetro
Equals Verifica se duas Strings são iguais
IndexOf Retorna a posição da String onde se encontra outra string passda como parâmetro, começando do início dela
LastIndexOf Retorna a posição da String onde se encontra outra string passda como parâmetro, começando do final dela

 

 

Alterando Maiúsculas E Minúsculas Numa String

 

Quando você compara duas strings as letras minúsculas e maiúsculas são tratadas como diferentes, a não ser que você determine explicitamente que isso seja ignorado.

 

Por conta disso, temos disponíveis alguns métodos de alteração de maiúsculas/minúsculas.

 

ToUpper

 

O método ToUpper altera todos os caracteres de uma String para maiúsculas.

 

Veja um exemplo abaixo:

 

 

ToLower

 

O método ToLower altera todos os caracteres de uma String para minúsculas.

 

Veja um exemplo abaixo:

 

 

ToTitleCase

 

O método ToTitleCase converte o primeiro caractere de cada palavra em maiúscula e o restante em minúsculas.

 

As palavras que estiverem totalmente em maiúsculas são consideradas acrônimos e não serão convertidas.

 

Este método fica no namespace System.Globalization e leva em consideração a cultura, ou seja, precisamos primeiro recuperar o objeto TextInfo que representa as convenções de uma determinada cultura.

 

No exemplo abaixo a cultura utilizada é a que está configurada na máquina onde o código está sendo executado, que é chamada através do CultureInfo.CurrentCulture:

 

 

Usando A Classe StringBuilder

 

Quando manipulamos muito uma String (para formatar um texto para um arquivo de carga, por exemplo) podemos ter problemas de performance. Por este motivo temos o objeto StringBuilder, que está no namespace System.Text e foi projetado para este fim.

 

Para vermos um pouco como este objeto funciona, escrevi um artigo somente para isso que você pode conferir aqui: StringBuilder: Como Utilizar.

 

Se cadastre no Grupo VIP App Dev para ser avisado quando os próximos artigos da série forem publicados.

Comece pelo e-book GRATUITO

5 Passos Para Ser Um App Dev

Se você não sabe por onde começar, este e-book te mostra os passos para ser um desenvolvedor de aplicativos de sucesso.
100% livre de spam.

Para enviar seu comentário, preencha os campos abaixo:

Deixe uma resposta

*

Seja o primeiro a comentar!