Geobitsianische Sprache ist eine neue Perversion des Englischen, bei der ein Wort in Segmente unterteilt wird, die jeweils mit einem anderen Buchstaben beginnen müssen. Jedes Mal, wenn einer dieser Anfangsbuchstaben in einer anderen Zeichenfolge erscheint, wird er durch das gesamte entsprechende Segment ersetzt, wobei die Großschreibung beibehalten wird.
Dieser Vorgang wird als Geobitsizing bezeichnet .
Zum Beispiel könnte man in das Wort " Geobits " geo bitsund in das Unsinnsgedicht einbrechen
Algy met a Bear
A Bear met Algy
The Bear was bulgy
The bulge was Algy
wäre damit geobitsized als
Algeoy met a Bitsear
A Bitsear met Algeoy
The Bitsear was bitsulgeoy
The bitsulgeoe was Algeoy
denn jeder gwird geo, jeder G(obwohl es keine gibt) wird Geo, jeder bwird bitsund jeder Bwird Bits.
Beachten Sie, dass jede Ersetzung in Bezug auf die ursprüngliche Zeichenfolge ausgeführt wird, nicht in Bezug auf einen Zwischenschritt. zB wenn geogewesen war gbostattdessen die b‚s erstellt würde nicht ersetzt bits.
Herausforderung
Schreiben Sie ein Programm oder eine Funktion, die Geobitsianische Sprache erzeugen kann.
Nehmen Sie eine einzeilige Zeichenfolge aus Kleinbuchstaben (az) und Leerzeichen auf. Dies ist das Wort, das als Geobitsizing-Argument verwendet wird, wobei die Leerzeichen die Segmente trennen. Sie können annehmen:
- Segmente werden nicht leer sein. Leerzeichen werden also weder einander benachbart noch am Anfang oder Ende der Zeichenfolge stehen.
- Jedes Segment beginnt mit einem anderen Buchstaben. Es können also nicht mehr als 26 sein.
Zum Beispiel sind einige gültige segmentierten Strings Sie unterstützen müssen geo bits, butt ner, alex, und do o r k nob(Einzelbuchstaben - Segmente haben keine Wirkung , sondern sind gültig). Aber geo , butt ner, Alex, und do o r k n obsind ungültig.
Ihr Programm oder Ihre Funktion muss auch eine andere beliebige Zeichenfolge aufnehmen, um das Geobitsizing anzuwenden und die resultierende geobitsische Sprache zu drucken oder zurückzugeben.
Sie können davon ausgehen, dass diese Zeichenfolge nur Zeilenumbrüche und druckbare ASCII-Zeichen enthält.
Denken Sie daran, dass die Groß- und Kleinschreibung von der Eingabe bis zur Ausgabe beibehalten werden muss.
Hier sind einige weitere Beispiele, no pro gr am m ingdie das Geobitsizing-Argument verwenden:
[empty string] → [empty string]
i → ing
I → Ing
Mmmm, mmm... MmmmMMM: m&m!→ Mmmm, mmm... MmmmMMM: m&m!(keine Änderung)
People think bananas are great, don't you? → Proeoprole thingnok bamnoamnoams amre grreamt, dono't you?
Pet a Puppy
Google Wikipedia
↓
Proet am Prouproproy
Groogrle Wingkingproedingam
Beachten Sie, dass die Ergebnisse unabhängig von der Anordnung des Arguments identisch sein sollten, z. B. ing pro m no am grdieselben Ergebnisse wie oben liefern sollten.
Der kürzeste Code in Bytes gewinnt.
\\b${l}(\\S+)obwohl das 5 Bytes kostet.
abra cadabra, !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~soll , dass alle Grenzfälle abdecken, und es gibt viele von ihnen , wenn man versucht , reguläre Ausdrücke zu verwenden ...
["no", "pro", "gr", "am", "m", "ing"]