Die Leute auf dieser Seite lieben es wirklich, ihre Beitragstitel zu verschönern ...
Stewie's sequence: + * - / + * - /
Wenn dieser Titel jedoch in die Seiten-URL aufgenommen werden muss, wird dies vereinfacht:
stewies-sequence
Die Herausforderung
Ihre Aufgabe ist es, ein Programm oder eine Funktion zu erstellen, die anhand eines Strings, der einen Beitragstitel darstellt, die "URL-freundliche" Konvertierung ausgibt / zurückgibt.
Der Algorithmus ist:
- In Kleinbuchstaben konvertieren (falls zutreffend)
- Ersetzen Sie jedes Leerzeichen (
), jeden Punkt (
.
), jedes Komma (,
) oder jeden Schrägstrich (/
) durch einen Bindestrich (-
). - Entfernen Sie alle nicht alphanumerischen Zeichen mit Ausnahme der Bindestriche.
- Minimieren Sie Gruppen benachbarter Bindestriche (
a---b -> a-b
) und entfernen Sie alle vorangestellten / nachfolgenden Bindestriche .
Bitte beachten Sie, dass dieser Algorithmus eine Vereinfachung darstellt und möglicherweise nicht immer die gleichen Ergebnisse wie die eigentliche Methode der Site liefert.
Regeln
- Sie können diese Eingabe annehmen:
- Wird nicht leer sein.
- Enthält mindestens ein alphanumerisches Zeichen.
- Enthält nur Zeichen im ASCII-Bereich 32-126 (druckbar)
- Vollständige Programme oder Funktionen sind zulässig.
- Ein Builtin, das die genaue Aufgabenspezifikation ausführt, ist nicht zulässig.
- Das ist Code-Golf , also gewinnt die kürzeste Lösung (in Bytes)!
Testfälle
Die meisten Beiträge auf dieser Website dienen als Test, aber hier ist eine praktische Liste:
Loading... Forever -> loading-forever
N(e(s(t))) a string -> nest-a-string
"Hello, World!" -> hello-world
URL-Friendly titles -> url-friendly-titles
C.U.S.R.S -> c-u-s-r-s
1+2+3+4+...+n = -1/12? -> 1234-n-1-12
How can I use cmp(a,b) -> how-can-i-use-cmpa-b
Einige längere ...
Export The $PATH Variable, Line-By-Line -> export-the-path-variable-line-by-line
Do n and n^3 have the same set of digits? -> do-n-and-n3-have-the-same-set-of-digits
Quine Anagrams! (Cops' Thread) -> quine-anagrams-cops-thread
The Golfer Adventure - Chapter 1 -> the-golfer-adventure-chapter-1
Bootloader golf: Brainf*** -> bootloader-golf-brainf
Und ein paar Beispiele zur Überprüfung von Randfällen (Sie können gerne weitere vorschlagen):
0123 -> 0123
a a1 -> a-a1
2-1=1 -> 2-11
if(isalphanum(ch))...
_
Unterstrichen? Mein Code funktioniert nur, wenn Unterstriche vorhanden sind.
-
s? Müssen sie entfernt werden? Müssen zum Beispiel inasdf-
die letzte-
entfernt werden?