.NET - POO - C# .NET - Aula 03 - Pesquisando, Modificando e Codificando Texto

15
.NET – POO – C# .NET

description

Na apresentação slides o aluno conhecerá os fundamentos necessário para melhor compreensão dos recursos para codificação de caracteres de textos (strings), arquivos e utilização da API de expressões regulares.

Transcript of .NET - POO - C# .NET - Aula 03 - Pesquisando, Modificando e Codificando Texto

Page 1: .NET - POO - C# .NET - Aula 03 - Pesquisando, Modificando e Codificando Texto

.NET – POO – C# .NET

Page 2: .NET - POO - C# .NET - Aula 03 - Pesquisando, Modificando e Codificando Texto

• Objetivo• Visão Geral • Formando Expressões Regulares• Codificando e Decodificando Texto• Conclusão

Page 3: .NET - POO - C# .NET - Aula 03 - Pesquisando, Modificando e Codificando Texto

Capacitar o aluno no uso dos principais recursos de manipulação de conteúdo em texto oferecidos pela plataforma .NET.

Page 4: .NET - POO - C# .NET - Aula 03 - Pesquisando, Modificando e Codificando Texto

• Podemos utilizar as expressões regulares para comparação /

validação eficiente dos dados informados pelo usuário.• As expressões regulares são um conjunto de caracteres que

podem ser comparados com uma determinada string que está de

acordo com o formato definido.• Aprederemos o conceito básico de uso e para realizarmos simples

validações.

Page 5: .NET - POO - C# .NET - Aula 03 - Pesquisando, Modificando e Codificando Texto

• Método para verificar a expressão regular

//insira o seu valorstring input = "12345”;//insira sua expressão regularstring expressaoRegular = @"^\d{5}$”;

if (Regex.IsMatch(input , expressaoRegular)){    Console. WriteLine("Validação OK");}else{     Console. WriteLine("Validação Não OK");}

Page 6: .NET - POO - C# .NET - Aula 03 - Pesquisando, Modificando e Codificando Texto

• Vamos compreender a expressão regular abaixo?

Page 7: .NET - POO - C# .NET - Aula 03 - Pesquisando, Modificando e Codificando Texto

• Alguns dos caracteres utilizados nas expressões regulares

Page 8: .NET - POO - C# .NET - Aula 03 - Pesquisando, Modificando e Codificando Texto

• Vejamos este exemplo abaixo:

Regex.IsMatch("pattern",@"\Apattern\Z")

• Podemos observar:

o \A - indica que precisa começar com o primeiro caracter que é "p";

o \Z - indica que precisa terminar com o último caracter que é "n"; e

o Acombinação indica que a palavra deverá ser "pattern".

Page 9: .NET - POO - C# .NET - Aula 03 - Pesquisando, Modificando e Codificando Texto

• Vejamos este outro exemplo abaixo:

Regex.Replace("valor-nao-legais", @"[^\w\.@-] ", "");  

• Podemos observar:

o A função Replace é utilizada para substituir em uma string caracteres não aceitáveis como:

"@", "-" e ".”

Page 10: .NET - POO - C# .NET - Aula 03 - Pesquisando, Modificando e Codificando Texto

• Cada string ou arquivo texto é codificado usando um ou

mais diferentes padrões de codificação;• O .NET Framework gerencia a codificação

automaticamente. • Há momentos em que precisamos controlar a codificação e

a decodificação, logo podemos exemplificar:o Ler e gravar arquivos texto criados por outras

plataformas como UNIX;o Criar páginas HTML;o Gerar mensagens de e-mail.

Page 11: .NET - POO - C# .NET - Aula 03 - Pesquisando, Modificando e Codificando Texto

• Tipos de Codificação• Unicode UTF-32

• Representa caracteres Unicode em sequência de inteiros de 32-bits

• Unicode UTF-16

• Representa caracteres Unicode em sequência de inteiros de 16-bits

• Unicode UTF-8 (mais utilizado)

• Representa caracteres Unicode em sequência de inteiros de 8-bits. É

adequado para internacionalização de conteúdo.

• ASCII

• Codifica o alfabeto Latin em um única sequencia de caracteres de 7-

bits. É inadequado para internacionalização de conteúdo.

Page 12: .NET - POO - C# .NET - Aula 03 - Pesquisando, Modificando e Codificando Texto

• Usando a classe de codificação

// Get Korean encoding Encoding e = Encoding.GetEncoding("Korean"); 

// Convert ASCII bytes to Korean encoding byte[] encoded; 

encoded = e. GetBytes("Hello, World! "); 

// Displ ay the byte codes for (i nt i = 0; i < encoded.Length; i++){ Console. WriteLine("Byte {0}: {1}", i , encoded[i]);}    

Page 13: .NET - POO - C# .NET - Aula 03 - Pesquisando, Modificando e Codificando Texto

• Obtendo a lista de codificações disponíveis

EncodingInfo[] ei = Encoding.GetEncodings() ; 

foreach (EncodingInfo e in ei){     Console.WriteLine("{0}: {1}, {2}", e.CodePage, e.Name, e.DisplayName);}

• Especificando a codificação de um arquivo

StreamWriter swUtf8 = new StreamWriter("utf8.txt", false, Encoding.UTF8); swUtf8.WriteLine("Hello, World! "); swUtf8.Close();

StreamWriter swUtf16 = new StreamWriter("utf16.txt", false, Encoding.Unicode); swUtf16.WriteLine("Hello, World!") ; swUtf16.Close();

Page 14: .NET - POO - C# .NET - Aula 03 - Pesquisando, Modificando e Codificando Texto

• A classe System.Text.Encoding provê métodos estáticos

para codificação e decodificação de texto;• Use o método Encoding.GetEncodings para obter uma lista

de páginas de código suportadas;• Por padrão, convencione não especificar a codificação

quando estiver lendo ou gravando um arquivo.• Para reformatar um texto usando expressões regulares,

chame o método estático Regex.Replace.

Page 15: .NET - POO - C# .NET - Aula 03 - Pesquisando, Modificando e Codificando Texto

.NET – POO – C# .NET