Tracks
/
Clojure
Clojure
/
Übungen
/
Blitzsauber
Blitzsauber

Blitzsauber

Lernübung

Einführung

Zeichenoperationen

Clojure-Zeichen sind java.lang.Character-Primitive, und wir können sie über Interop mit den Methoden der Character-Klasse bearbeiten:

(Character/isDigit \2)
;;=> true

Hilfsfunktionen für Strings

Clojure bringt eine leistungsstarke Bibliothek zur String-Verarbeitung mit, clojure.string. Sie ist oft idiomatischer als Interop.

Anleitung

In dieser Übung implementierst du eine Teilmenge von Hilfsroutinen, mit denen ein Entwickler Bezeichnernamen bereinigen kann.

In den 5 Aufgaben baust du die Funktion clean nach und nach auf. Ein gültiger Bezeichner besteht aus null oder mehr Buchstaben und Unterstrichen.

In allen Fällen ist der Eingabe-String garantiert nicht nil. Wenn ein leerer String an die Funktion übergeben wird, soll ein leerer String zurückgegeben werden.

Beachte, dass der Aufrufer die Funktion nicht mit einem leeren Bezeichner aufrufen sollte, da solche Bezeichner wirkungslos sind.

1. Ersetze alle vorkommenden Leerzeichen durch Unterstriche

Implementiere die Funktion clean so, dass sie alle Leerzeichen durch Unterstriche ersetzt. Das gilt auch für führende und nachfolgende Leerzeichen.

(clean "my   Id")
;;=> "my___Id"

2. Ersetze Steuerzeichen durch den String "CTRL" in Großbuchstaben

Ändere die Funktion clean so, dass sie Steuerzeichen durch den String "CTRL" in Großbuchstaben ersetzt. Ein Zeichen gilt als ISO-Steuerzeichen, wenn sein Code im Bereich '\u0000' bis '\u001F' oder im Bereich '\u007F' bis '\u009F' liegt.

(clean "my\u007FId")
;;=> "myCTRLId"

3. Wandle kebab-case in camelCase um

Ändere die Funktion clean so, dass sie kebab-case in camelCase umwandelt.

(clean "à-ḃç")
;;=> "àḂç"

4. Lass Zeichen weg, die keine Buchstaben sind

Ändere die Funktion clean so, dass sie alle Zeichen weglässt, die keine Buchstaben sind. Hinweis: Die Unterstriche müssen aus dem vorherigen Schritt beibehalten werden.

(clean "1😀2😀3😀")
;; => ""

5. Lass griechische Kleinbuchstaben weg

Ändere die Funktion clean so, dass sie alle griechischen Buchstaben im Bereich 'α' bis 'ω' weglässt.

(clean "MyΟβιεγτFinder")
;;=> "MyΟFinder"
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Clojure Exercism

Bereit, mit Blitzsauber zu starten?

Melde dich bei Exercism an, um Clojure mit 12 Konzepte105 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.