En C#, string est un objet qui représente du texte immuable sous la forme d'une séquence de caractères Unicode (lettres, chiffres, ponctuation, etc.). Les guillemets doubles servent à définir une instance de string :
string fruit = "Apple";
On manipule les strings en appelant leurs méthodes intégrées. Par exemple, pour supprimer les espaces blancs d'une string, tu peux utiliser la méthode Trim comme ceci :
string name = " Jane "
name.Trim()
// => "Jane"
Une fois qu'une string a été construite, sa valeur ne peut plus jamais changer. Toutes les méthodes qui semblent modifier une string renvoient en réalité une nouvelle string.
On peut concaténer (ajouter) plusieurs strings ensemble. La façon la plus simple d'y parvenir est d'utiliser l'opérateur +.
string name = "Jane";
"Hello " + name + "!";
// => "Hello Jane!"
Pour tout formatage de string plus complexe qu'une simple concaténation, l'interpolation de string est préférée. Pour utiliser l'interpolation dans une string, fais-la précéder du symbole dollar ($). Tu peux ensuite utiliser des accolades ({}) pour accéder aux variables à l'intérieur de ta string.
string name = "Jane";
$"Hello {name}!";
// => "Hello Jane!"
Dans cet exercice, on va traiter des lignes de log.
Chaque ligne de log est une string au format suivant : "[<LEVEL>]: <MESSAGE>".
Il existe trois niveaux de log différents :
INFOWARNINGERRORTu as trois tâches à accomplir ; chacune prend une ligne de log et te demande d'en faire quelque chose.
Implémente la méthode (static) LogLine.Message() pour renvoyer le message d'une ligne de log :
LogLine.Message("[ERROR]: Invalid operation")
// => "Invalid operation"
Les espaces blancs au début et à la fin doivent être supprimés :
LogLine.Message("[WARNING]: Disk almost full\r\n")
// => "Disk almost full"
Implémente la méthode (static) LogLine.LogLevel() pour renvoyer le niveau de log d'une ligne de log, qui doit être renvoyé en minuscules :
LogLine.LogLevel("[ERROR]: Invalid operation")
// => "error"
Implémente la méthode (static) LogLine.Reformat() qui reformate la ligne de log, en plaçant le message en premier et le niveau de log après, entre parenthèses :
LogLine.Reformat("[INFO]: Operation completed")
// => "Operation completed (info)"
Inscris-toi sur Exercism pour apprendre et maîtriser C# avec 62 concepts178 exercices, et un vrai mentorat humain, le tout gratuitement.