Der char-Typ in C# ist eine 16-Bit-Größe, die die kleinsten adressierbaren Bestandteile von Text darstellt.
Mehrere chars können einen String wie "word" bilden, oder chars lassen sich
einzeln verarbeiten. Ihre Literale stehen in einfachen Anführungszeichen, z. B. 'A'.
chars in C# unterstützen die UTF-16-Unicode-Kodierung. Deshalb lässt sich neben dem
lateinischen Zeichensatz so ziemlich jedes auf der Welt verwendete Schriftsystem
darstellen, zum Beispiel der griechische Buchstabe 'β'.
Es gibt viele eingebaute Bibliotheksmethoden, um chars zu untersuchen und zu
manipulieren. Du findest sie als statische Methoden der Klasse System.Char.
chars werden manchmal zusammen mit einem StringBuilder-Objekt verwendet.
Dieses Objekt hat Methoden, mit denen sich ein String
Zeichen für Zeichen aufbauen und bearbeiten lässt. Am Ende des Prozesses
kannst du ToString darauf aufrufen, um einen vollständigen String auszugeben.
In dieser Übung implementierst du eine Teilmenge von Hilfsroutinen, mit denen ein Entwickler Bezeichnernamen bereinigen kann.
In den 5 Aufgaben baust du nach und nach die Routine Clean auf.
Ein gültiger Bezeichner besteht aus null oder mehr Buchstaben und Unterstrichen.
In allen Fällen ist garantiert, dass der eingegebene String nicht null ist.
Wenn ein leerer String an die Funktion Clean übergeben wird, sollte ein leerer String zurückgegeben werden.
Beachte, dass der Aufrufer die Routine Clean nicht mit einem leeren Bezeichner aufrufen sollte, da solche Bezeichner wirkungslos sind.
Implementiere die (statische) Methode Identifier.Clean(), um alle Leerzeichen durch Unterstriche zu ersetzen.
Das gilt auch für führende und nachfolgende Leerzeichen.
Identifier.Clean("my Id");
// => "my___Id"
Ändere die (statische) Methode Identifier.Clean() so, dass sie Steuerzeichen durch den Großbuchstaben-String "CTRL" ersetzt.
Identifier.Clean("my\0Id");
// => "myCTRLId",
Ändere die (statische) Methode Identifier.Clean() so, dass sie kebab-case in camelCase umwandelt.
Identifier.Clean("à-ḃç");
// => "àḂç"
Ändere die (statische) Methode Identifier.Clean() so, dass sie alle Zeichen weglässt, die keine Buchstaben sind.
Identifier.Clean("1😀2😀3😀");
// => ""
Ändere die (statische) Methode Identifier.Clean() so, dass sie alle griechischen Buchstaben im Bereich 'α' bis 'ω' weglässt.
Identifier.Clean("MyΟβιεγτFinder");
// => "MyΟFinder"
Melde dich bei Exercism an, um C# mit 62 Konzepte178 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.