Verkleinern Sie jedes Wort in einer Folge von Zeichenketten auf einzelne Buchstaben, die durch Leerzeichen oder Satzzeichen gekennzeichnet sind.
Beispiel
I'm a little teapot, short and stout. Here is my handle, here is my spout. When I get all steamed up - hear me shout! Tip me over and pour me out.
wird
I' a l t, s a s. H i m h, h i m s. W I g a s u - h m s! T m o a p m o.
Bearbeiten - Wenn mehrere Leerzeichen vorhanden sind, behalten Sie nur ein Leerzeichen bei. Alle Interpunktion sollte erhalten bleiben, ich habe den Apostroph verpasst. Ja das ist Code Golf :-).
+
usw.)O'Leary-Clarence-DeVois
würde werdenO'--
?Antworten:
CJam, 13 Bytes
Funktioniert, wenn ich nur die allgemeinen Satzzeichen berücksichtigen kann und die Ausgabe nachgestellte Leerzeichen enthalten kann. (Danke an Dennis.)
Diese Frage muss noch viel geklärt werden ...
CJam,
1716 BytesProbieren Sie es online aus .
Erläuterung
quelle
r
schiebt eine leere Zeichenfolge auf EOF, so funktioniert dies auch:r{(\eu_elf&Sr}h;
;
macht dann keinen Sinn.&
. Je nachdem, was genau als Interpunktion zählt,'@,
wäre dies auch eine kürzere Alternative zueu_el
.Pyth, 14 Bytes
Probieren Sie es online aus: Demonstration
Erläuterung:
quelle
Python 3.4,
94928277 BytesIch bin neu im Code-Golf, aber ich dachte, ich würde es versuchen! Dies ist kein Gewinner, aber es hat Spaß gemacht.
Dadurch wird nur die Zeichenfolge aufgeteilt, wobei das erste Zeichen jedes Wortes zusammen mit etwaigen Satzzeichen im Rest des Wortes verwendet wird.
* bearbeitet mit Änderungen von FryAmTheEggman, DLosc
quelle
print(*[w[0]+''.join([c for c in w[1:]if 1-c.isalpha()])for w in input().split()])
join
kann einen bloßen Generator als Argument nehmen. Hier ist auch eine Methode zum Schneiden von Zeichenfolgen, um die "wenn nicht isalpha" -Logik auszuführen :c[c.isalpha():]for c in w
. Sollte Sie auf 77 Bytes reduzieren. : ^)Gelee , 14 Bytes
Probieren Sie es online aus!
Lösung mit Mr. Xcoder und Caird Coinheringaahing im Chatroom von Jelly Hypertraining .
Alternative 14 Bytes: Probieren Sie es online aus!
quelle
sed (39 Zeichen)
Nur ein paar reguläre Ausdrücke:
quelle
Lua - 126 Zeichen
Lua ist keine gute Code-Golfsprache, aber ich habe es ausprobiert:
Dies setzt voraus, dass dies
c
die Zeichenfolge ist.Hier wird es zur besseren Lesbarkeit aufgeräumt:
Sie können es hier testen (kopieren und einfügen. Zum ersten müssen Sie es auch tun
c = "I'm a little ...
.) Aus irgendeinem Grund können Sie in der Online-Demo von Lua keine Variablen mitio.read
...quelle
PowerShell, 56 Byte
quelle
Javascript ( ES6 )
7268 BytesKommentiert:
quelle
C99 -
170169 BytesUngolfed:
Verwendungszweck:
Ausgabe:
quelle
Java 8, 87 Bytes
Erläuterung:
Probieren Sie es hier aus.
Regex Erklärung:
Es werden also im Grunde alle Kleinbuchstaben eines Strings entfernt, mit Ausnahme des allerersten.
quelle
Perl 5 , 34 Bytes
33 Bytes Code + 1 für
-p
.Probieren Sie es online aus!
quelle
R,
4645 BytesDies liest eine Zeile von STDIN und druckt nach STDOUT. Es wird ein regulärer Ausdruck verwendet, um alle Zeichen nach dem ersten Buchstaben zu entfernen, gefolgt von einer beliebigen Interpunktion.
Ungolfed + Erklärung:
Beispiel:
quelle
05AB1E , 13 Bytes
Probieren Sie es online aus!
Erläuterung:
quelle
VBA (Excel),
141133 BytesVerwenden des VBA-Sofortfensters [A1] als eingegebene Zeichenfolgen.
quelle
Perl 6 , 15 Bytes
Probieren Sie es online aus!
quelle