Ein Zitat ist "die Wiederholung eines Ausdrucks als Teil eines anderen". Im amerikanischen Englisch wird ein Anführungszeichen wie im vorherigen Satz in doppelte Anführungszeichen (") gesetzt. Diese Regel unterscheidet sich jedoch, wenn ein Anführungszeichen in einem anderen Anführungszeichen steht. In diesem Fall wird das innere Anführungszeichen in einfache Anführungszeichen gesetzt (').
Herausforderung
Wenn Sie eine Zeichenfolge als Eingabe angeben, geben Sie eine zitierfähige Version dieser Zeichenfolge aus, indem Sie doppelte und einfache Anführungszeichen austauschen, die für das innere Anführungszeichen verwendet werden.
Es gibt jedoch nur einen Haken: Nicht alle einfachen Anführungszeichen werden für Anführungszeichen verwendet! Bei dieser Herausforderung wird das einfache Anführungszeichen nur dann für die Anführungszeichen verwendet, wenn:
- Vor der Marke steht ein nicht alphanumerisches Zeichen oder
- Der Markierung folgt ein nicht alphanumerisches Zeichen, das kein Leerzeichen ist
Die für Zitate verwendeten Noten sind garantiert ausgewogen; Das heißt, Sie müssen ungültige Eingaben nicht verarbeiten. Darüber hinaus werden doppelte Anführungszeichen nur in Situationen verwendet, in denen einfache Anführungszeichen zur Darstellung von Anführungszeichen verwendet werden können.
Testfälle
A man, a plan, a canal, Panama.
"A man, a plan, a canal, Panama."
Socrates once said, "An unexamined life is not worth living."
"Socrates once said, 'An unexamined life is not worth living.'"
@musicman523 said, "Socrates once said, 'An unexamined life is not worth living.'"
"@musicman523 said, 'Socrates once said, "An unexamined life is not worth living."'"
"Nested 'quotes "can 'cause "recursion," if,' it," runs,' deep!"
"'Nested "quotes 'can "cause 'recursion,' if," it,' runs," deep!'"
"Contractions' behaviors can't be easy to account for," he warned.
"'Contractions' behaviors can't be easy to account for,' he warned."
@carusocomputing said, "Nested, 'quotes, it's unfortunate', to be sure."
"@carusocomputing said, 'Nested, "quotes, it's unfortunate", to be sure.'"
Wertung
Das ist Code-Golf , also gewinnt die kürzeste Antwort in jeder Sprache!
quelle
... if' it" runs' deep"
hat einfache Anführungszeichen, denen kein nicht-alphanumerisches Zeichen vorangestellt ist und denen kein "nicht-alphanumerisches Zeichen, das kein Leerzeichen ist" folgt, und die dennoch transformiert werden!"Nested, 'quotes, it's unfortunate', to be sure."
- Ich denke, Sie brauchen einen verschachtelten Fall mit Kontraktionen.Antworten:
Ruby ,
64666564 + 1 =65676665 Bytes+1 Byte für das
-n
Flag.Probieren Sie es online!
quelle
Retina ,
3427 Bytes-7 Bytes dank @Leo
Probieren Sie es online!
quelle
@carusocomputing said, "Nested, 'quotes, it's unfortunate', to be sure."
der Eingabe wird das folgende einfache Anführungszeichenunfortunate
nicht in ein doppeltes Anführungszeichen geändert, sondern sollte es sein. Wenn es Ihnen beim Debuggen hilft, funktioniert es, wenn das Komma vor dem Anführungszeichen steht. (Ich kenne Retina nicht, also kann ich nicht weiter helfen.)JavaScript (ES6), 90 Byte
Angenommen, die Zeichenfolge enthält nicht
#
.Code-Snippet anzeigen
quelle