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.
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.
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.
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"
"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",
Modifica o método (static) Identifier.Clean() para converter kebab-case em camelCase.
Identifier.Clean("à-ḃç");
// => "àḂç"
Modifica o método (static) Identifier.Clean() para omitir todos os carateres que não sejam letras.
Identifier.Clean("1😀2😀3😀");
// => ""
Modifica o método (static) Identifier.Clean() para omitir todas as letras gregas no intervalo de 'α' a 'ω'.
Identifier.Clean("MyΟβιεγτFinder");
// => "MyΟFinder"
Inscreve-te no Exercism para aprenderes e dominares C# com 62 conceitos178 exercícios, e mentoria humana real, tudo grátis.