Limpinho

Limpinho

Exercício de aprendizagem

Introdução

Carateres

O tipo char do C# é uma quantidade de 16 bits para representar os componentes mais pequenos e endereçáveis do texto. Vários chars podem formar uma string como "word", ou os chars podem ser processados independentemente. Os seus literais usam aspas simples, por exemplo, 'A'.

Os chars do C# suportam a codificação Unicode UTF-16, por isso, para além do conjunto de carateres latinos, praticamente todos os sistemas de escrita usados no mundo podem ser representados, por exemplo, a letra grega 'β'.

Existem muitos métodos de biblioteca incorporados para inspecionar e manipular chars. Estes podem ser encontrados como métodos estáticos da classe System.Char.

String Builder

Os chars são por vezes usados em conjunto com um objeto StringBuilder. Este objeto tem métodos que permitem construir uma string caráter a caráter e manipulá-la. No final do processo, pode chamar-se ToString ao objeto para obter uma string completa.

Instruções

Neste exercício, vais implementar um conjunto parcial de rotinas utilitárias para ajudar um programador a limpar nomes de identificadores. Ao longo das 5 tarefas, vais construir gradualmente a rotina Clean. Um identificador válido é composto por zero ou mais letras e underscores. Em todos os casos, é garantido que a string de entrada não é nula. Se for passada uma string vazia à função Clean, deve ser devolvida uma string vazia. Repara que quem chama deve evitar chamar a rotina Clean com um identificador vazio, uma vez que esses identificadores não têm qualquer efeito.

1. Substitui todos os espaços encontrados por underscores

Implementa o método (static) Identifier.Clean() para substituir todos os espaços por underscores. Isto também se aplica a espaços no início e no fim.

Identifier.Clean("my   Id");
// => "my___Id"

2. Substitui os carateres de controlo pela string em maiúsculas "CTRL"

Modifica o método (static) Identifier.Clean() para substituir os carateres de controlo pela string em maiúsculas "CTRL".

Identifier.Clean("my\0Id");
// => "myCTRLId",

3. Converte kebab-case em camelCase

Modifica o método (static) Identifier.Clean() para converter kebab-case em camelCase.

Identifier.Clean("à-ḃç");
// => "àḂç"

4. Omite os carateres que não são letras

Modifica o método (static) Identifier.Clean() para omitir todos os carateres que não sejam letras.

Identifier.Clean("1😀2😀3😀");
// => ""

5. Omite as letras gregas minúsculas

Modifica o método (static) Identifier.Clean() para omitir todas as letras gregas no intervalo de 'α' a 'ω'.

Identifier.Clean("MyΟβιεγτFinder");
// => "MyΟFinder"
Editar via GitHub A ligação abre numa nova janela ou separador
C# Exercism

Estás pronto para começar Limpinho?

Inscreve-te no Exercism para aprenderes e dominares C# com 62 conceitos178 exercícios, e mentoria humana real, tudo grátis.