CódigoFonte.net Inicial Anuncie Buscar códigos Fale conosco Olá Visitante - Sábado, 05 de Julho de 2008.



Códigos
ASP.NET
ASP
Cold Fusion
CGI
C#
JavaScript
Delphi
PHP
VB.NET
VBScript
XML
Assistentes
Favoritos
Botão Direito
Confirm Box
Datas
Caixa de Alerta
Transições
Cores em Hexa
Links
Ver + Detalhes
Tutoriais/Dicas
ASP
Banco de dados
BLOGs
CGI/Perl
C# (CSharp)
CSS
Delphi
.NET
Flash
Front-Page
HTML
JavaScript
PHP
Python
Web
Web 2.0
Windows
Serviços
Mural
Contadores
Web Objects
GamesDaNet
Chama MSN
Jogos Online
Feed RSS
Expediente
Anuncie
Fórum
Bate-papo
Orkut
Divulgue-nos
Privacidade
Contato
Parceiros
Fontes Gratis
Br-Designer.com
CompreDeTudo
Iscambo.com
Garu Downloads
Oficina da Net
Seus Sonhos
.NET User Group
Piadas online
Casa dos Wm
HTML Staff
BaixaTube




Dicas CódigoFonte.net
Quinta Feira, 24 de Abril de 2008

Manipulando Strings no C#

Introdução

O tipo string apesar de se comportar como um value type é na verdade um reference type. Apesar disso, devemos considerar que estamos trabalhando com um value type quando estamos manipulando strings, tendo em vista que este tipo de dado foi programado para funcionar como tal.

A classe string possui uma série de métodos estáticos e não estáticos, que são utilizamos para formatação, concatenação, desmembramento, substring, etc. Vamos analisar alguns destes métodos da classe string.

O método Substring

O método substring é um método não estático que permite pegarmos uma porção de uma string. Para utilizarmos o método substring, basta chamar o método a partir de uma variável string ou mesmo de uma string literal, conforme o exemplo.

string nome = "Testando da Silva";
string sobreNome = nome.Substring(12,5);


O método substring aceita como parâmetro a posição inicial que queremos obter e quantos caracteres devem ser extraídos. Caso não seja informado o número de caracteres a ser extraído, a função retornará o restante da string a partir da posição inicial informada.

O método IndexOf

O método IndexOf é utilizado para localizar uma determinada palavra dentro da string. Este método retornará a posição da string desejada. Caso a string não seja encontrada, será retornado o valor -1.

string nome = "Testando da Silva";
int pos = nome.IndexOf("Silva");
//A partir do índice 5
int pos2 = nome.IndexOf("Silva", 5);


Conforme vimos no exemplo, é possível informar a posição inicial para busca como um parâmetro adicional.

Funções ToUpper e ToLower

As funções ToUpper e ToLower permitem colocar uma string em letra minúsculas ou maiúsculas, conforme o exemplo a seguir.

string nome = "Maurício";

nome = nome.ToUpper();
nome = nome.ToLower();


Funções StartsWith e EndsWith

As funções startswith e endswith verificam se a string começo ou termina com uma determinada palavra ou caracter. Estas funções retornam um valor booleano (true ou false).

string arquivo = "comctl32.dll";

if(nome.StartsWith("com"))
    Console.WriteLine("Começa com COM!");

if(nome.EndsWith(".dll"))
    Console.WriteLine("É uma dll!");


Funções TrimStart, TrimEnd e Trim

As funções de Trim servem para remover espaços em branco das strings. A função TrimStart remove os espaços em branco do início da string, já a função TrimEnd remove os espaços em branco do final da string. A função Trim remove os espaços em branco do inicio e do fim da string.

     string nome = "   MAURICIO    ";

     nome = nome.TrimEnd();
     nome = nome.TrimStart();

     nome = nome.Trim();


Funções PadLeft e PadRight

As funções PadLeft e PadRight servem para preencher uma string a esquerda ou a direita com um caracter especificado. Os exemplos a seguir mostra o uso das funções PadLeft e PadRight.

    string nome = "Mauricio";

    nome = nome.PadRight(10, ' ');
    // "Mauricio  "

    string codigo = "123";
    codigo = codigo.PadLeft(6, '0');
    // "000123"


Funções String.Join e String.Split

A função Split serve para quebrar uma string em um array de strings de acordo com um separador. Ao contrário da função split, a função Join concatena um array de string inserindo um separador.

string linha = "Teste, 10, 20, 10/06/2007";

string[] campos = linha.Split(',');

string linhaNova = String.Join(';', campos);


A Função String.Format

A função String.Format é uma das funções mais versáteis da classe string. Esta função permite a criação de uma string baseada em um padrão. Podemos colocar dentro do padrão da string de formatação alguns tokens que poderam ser substituídos por variáveis passadas por parâmetro no comando format.

string teste = String.Format("Vou colocar o {0} aqui.", "parâmetro");


No exemplo acima, o padrão da string (primeiro parâmetro) contém um token {0}. Este token indica que este valor deve ser substituido pelo segundo parâmetro passado para a função (neste caso a palavra “parâmetro”).

sTeste = String.Format("Formatação de string com {0} parâmetro. ",
	"Agora são {1}. Valor numérico: {2}", 1, Now(), 15.5);


No exemplo acima, temos o padrão da string com mais de um token, com números de 0 à 2. A função também recebe 3 parâmetros adicionais que correspondem aos valores que serão substituídos na string. Além de informarmos os tokens, podemos informar regras de formatação que serão utilizadas de acordo com o tipo de dado passado por parâmetro, conforme o exemplo,

sTeste = String.Format("Custom Format: {0:d/M/yyy HH:mm:ss}", dtHoje);
sTeste = String.Format("Formatação do número inteiro: {0:D}.", iNumero);
sTeste = String.Format("Formatação do número inteiro: {0:D4}.", iNumero);


A classe StringBuilder~

Apesar da versatilidade da classe string, operações com string podem consumir muitos recursos e causar perda de desempenho. Isto ocorre porque a cada operação o framework cria um novo buffer para a string resultante da operação, ao invés de aproveitar o buffer que está sendo utilizado. Isto é mais aparente em operações de concatenação.

Para não criar este tipo de problema, podemos utilizar a classe StringBuilder, do namespace System.Text. Esta classe permite a criação de strings aproveitando o buffer utilizado, o que torna o código mais eficiente.

No exemplo a seguir temos um trecho de código com uma operação feita de forma ineficiente e outra mais eficiente usando o stringBuilder, veja a diferença.

// Codigo ineficiente
string sql;
sql =  "SELECT * FROM Products";
sql += " WHERE CategoryId=1 AND";
sql += "       AND UnitPrice>10";

// Codigo Eficiente
StringBuilder sb =
    new StringBuilder();

sb.Append("SELECT * FROM Products");
sb.Append(" WHERE CategoryId=1 AND");
sb.Append("       AND UnitPrice>10");

sql = sb.ToString();


Artigo retirado do site: http://www.dotnetmaniacs.com.br

Autor: Maurício Ritter

Veja mais

Comentários do artigo [Novo comentário]

Nenhum comentário, seja o primeiro a comentar.
Para adicionar um comentário você deve efetuar o login
Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:



» Busca específica

BuscaPé, líder em comparação de preços na América Latina





» Notebooks?
» Procurando o que comprar? CompreDeTudo.com


Melhor Visualizado com
800x600 de Resolução
CodigoFonte.net » CodigoFonte.eti.br » CompreDeTudo.com » MeuMural.com.br » Todos os Direitos Reservados © 2002/2008