Parcours
/
C#
C#
/
Exercices
/
Propre comme un sou neuf
Propre comme un sou neuf

Propre comme un sou neuf

Exercice d'apprentissage

Introduction

Chars

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.

StringBuilder

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.

Instructions

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.

1. Remplace les espaces rencontrés par des tirets bas

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"

2. Remplace les caractères de contrôle par la string en majuscules "CTRL"

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",

3. Convertis le kebab-case en camelCase

Modifie la méthode (static) Identifier.Clean() pour convertir le kebab-case en camelCase.

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

4. Omets les caractères qui ne sont pas des lettres

Modifie la méthode (static) Identifier.Clean() pour omettre les caractères qui ne sont pas des lettres.

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

5. Omets les lettres grecques en minuscules

Modifie la méthode (static) Identifier.Clean() pour omettre les lettres grecques comprises entre 'α' et 'ω'.

Identifier.Clean("MyΟβιεγτFinder");
// => "MyΟFinder"
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
C# Exercism

Prêt à commencer Propre comme un sou neuf ?

Inscris-toi sur Exercism pour apprendre et maîtriser C# avec 62 concepts178 exercices, et un vrai mentorat humain, le tout gratuitement.