Le type char de C# est une quantité de 16 bits qui représente les plus petites composantes adressables du texte. Plusieurs char peuvent composer une string telle que "word", ou bien être traités indépendamment. Leurs littéraux s'écrivent entre guillemets simples, par exemple 'A'.
Les char de C# prennent en charge l'encodage Unicode UTF-16 : ainsi, en plus du jeu de caractères latin, on peut représenter la quasi-totalité des systèmes d'écriture utilisés dans le monde, par exemple la lettre grecque 'β'.
Il existe de nombreuses méthodes intégrées à la bibliothèque pour inspecter et manipuler les char. On les trouve sous forme de méthodes statiques de la classe System.Char.
Les char sont parfois utilisés conjointement avec un objet StringBuilder. Cet objet possède des méthodes qui permettent de construire une string caractère par caractère, puis de la manipuler. À la fin du processus, on peut appeler ToString dessus pour produire une string complète.
Dans cet exercice, tu vas implémenter un ensemble partiel de routines utilitaires pour aider un développeur à nettoyer des noms d'identifiants.
Au fil des 5 tâches, tu vas construire progressivement la routine Clean.
Un identifiant valide est composé de zéro ou plusieurs lettres et tirets bas.
Dans tous les cas, la string en entrée est garantie non nulle.
Si une string vide est passée à la fonction Clean, une string vide doit être renvoyée.
Note que l'appelant doit éviter d'appeler la routine Clean avec un identifiant vide, car de tels identifiants sont sans effet.
Implémente la méthode (static) Identifier.Clean() pour remplacer les espaces par des tirets bas.
Cela vaut aussi pour les espaces de début et de fin.
Identifier.Clean("my Id");
// => "my___Id"
Modifie la méthode (static) Identifier.Clean() pour remplacer les caractères de contrôle par la string en majuscules "CTRL".
Identifier.Clean("my\0Id");
// => "myCTRLId",
Modifie la méthode (static) Identifier.Clean() pour convertir le kebab-case en camelCase.
Identifier.Clean("à-ḃç");
// => "àḂç"
Modifie la méthode (static) Identifier.Clean() pour omettre les caractères qui ne sont pas des lettres.
Identifier.Clean("1😀2😀3😀");
// => ""
Modifie la méthode (static) Identifier.Clean() pour omettre les lettres grecques comprises entre 'α' et 'ω'.
Identifier.Clean("MyΟβιεγτFinder");
// => "MyΟFinder"
Inscris-toi sur Exercism pour apprendre et maîtriser C# avec 62 concepts178 exercices, et un vrai mentorat humain, le tout gratuitement.