Étant donné une chaîne, remplacez tous les guillemets gauches en deux guillemets et tous les guillemets droits en deux guillemets simples.
Left-quotes signifie les citations qui commencent une citation. Les guillemets droits signifient les guillemets qui terminent un devis. Les citations ne peuvent pas être imbriquées. Vous pouvez supposer qu'il existe un nombre pair de guillemets doubles dans la chaîne.
Exemples
Contribution:
"To be or not to be," quoth the Bard, "that
is the question".
The programming contestant replied: "I must disagree.
To `C' or not to `C', that is The Question!"
Production:
``To be or not to be,'' quoth the Bard, ``that
is the question''.
The programming contestant replied: ``I must disagree.
To `C' or not to `C', that is The Question!''
Réponses:
Illisible ,
789777 octets-12 octets en utilisant la variable X34 plutôt que X6.
Essayez-le en ligne!
Affiché en police à largeur variable, selon l'hommage traditionnel au nom de la langue.
J'ai appris Illisible pour ce défi, car c'est évidemment le meilleur outil pour le travail. Les seuls personnages autorisés dans Unreadable sont
'
et"
, donc sûrement, il est parfaitement adapté à un défi qui consiste à changer"
en''
. N'est-ce pas?Explication:
(Les appels à X34 sont en fait des appels à X (X5), puisque X5 = 34.)
la source
Rétine , 13 octets
Apprendre Retina rapidement parce que pour une raison quelconque, je n'aime pas gagner Japt et j'ai l'impression qu'une solution C # utiliserait de toute façon des expressions régulières. Je sais qu'il y a une réponse Retina, mais je ne l'ai pas utilisée lors de la création et je l'ai trouvée (exactement) de toute façon.
Essayez-le en ligne!
la source
JavaScript (ES9), 34 octets
Travailler sur des blocs entre guillemets:
Essayez-le en ligne!
JavaScript (ES6), 38 octets
Travailler sur chaque guillemet double séparément:
Essayez-le en ligne!
la source
Gelée ,
1513 octetsEssayez-le en ligne!
Programme complet.
la source
Python 3 , 65 octets
Essayez-le en ligne!
-8 octets grâce à Erik l'Outgolfer
la source
s[0].replace
par unes[0]=='"'
vérification explicite , avec quelques autres modifications).Japt , 12 octets
Serait 11 seulement pour une limitation de (ou peut-être que c'est un bug dans) Japt.
Essayez-le
la source
Q
ici: \,
aussi.Q
à la place de'"
TeX,
5432 octetsPour un défi de remplacement de devis TeX, nous avons également besoin d'une version TeX bien sûr!
...
est la chaîne d'entrée, donc elle n'ajoute pas au nombre d'octets.la source
\def"#1"{``#1''}
? (ou\long\def
si vous vous attendez à ce qu'un devis traverse une limite de paragraphe)Fusain , 23 octets
Essayez-le en ligne! Le lien est vers la version détaillée du code. Comprend 8 octets pour éviter un format d'entrée encombrant. Explication:
Collectez les lignes d'entrée jusqu'à ce qu'une ligne vide soit atteinte.
Rejoignez les lignes sur les caractères de nouvelle ligne.
Divisez l'entrée sur les devis.
Mappez sur chaque partie et concaténez les résultats pour l'impression implicite.
Laissez la première partie inchangée.
Préfixez le devis approprié, doublé.
la source
R , 40 octets
Essayez-le en ligne!
Lit l'entrée de chaîne, en les séparant chacune
"
, donnant un vecteur de chaînes. Puis colle ces cordes, alternant entre les doubles backticks et les doubles apostrophes comme séparateurs, les recyclant au besoin.Quelqu'un va probablement poster une réponse R plus courte basée sur une expression régulière ... Pourtant, cette réponse est plus typique de R, je pense.
Explication de la
scan(,"",,,'"',"")
partie:la source
Perl 6 , 23 octets
Essayez-le en ligne!
Darn, la solution évidente est plus courte. Remplace chaque partie citée par une version avec les citations appropriées.
Perl 6 , 24 octets
Essayez-le en ligne!
Remplace chaque guillemet double, en alternant entre les deux jeux de caractères.
la source
Rétine , 15 octets
Essayez-le en ligne! Borde la réponse ennuyeuse de Retina 0.8.2 par 1 octet. Explication:
Dupliquez toutes les citations.
Remplacez cycliquement les guillemets par des paires de guillemets et des guillemets simples.
Réponse de Retina 0.8.2 16 octets ennuyeuse pour l'exhaustivité:
Essayez-le en ligne!
la source
PHP , 62 octets
Solution non RegEx:
Essayez-le en ligne!
PHP , 48 octets
Solution RegEx du port d' Arnauld :
Essayez-le en ligne!
la source
C (gcc) ,
6968 octetsEssayez-le en ligne!
Un octet rasé par @ceilingcat!
la source
Labyrinthe , (43?) 53 octets
Essayez-le en ligne!
Une version golfée de ce programme de 92 octets, beaucoup plus simple:
Si nous n'avons pas besoin de gérer l'entrée contenant l'octet zéro, alors 43 octets :
la source
Python 2 , 57 octets
Essayez-le en ligne!
Bien que j'aime vraiment la réponse de Jitse .
la source
flags
argument:r'(?s)"(.*?)"'
(GNU) sed ,
38 3330 octets-4 en supprimant le
-n
drapeau et en l'imprimant implicitementn
, -1 en réutilisant le précédent/expression/
, merci @Cowsquack. -3 en utilisant de bout en bout implicite.Essayez-le en ligne! Essayez-le en ligne!Essayez-le en ligne!Quelques sauts d'étiquette assez basiques.
Cela peut probablement être joué par un octet ou deux.la source
-n
indicateur devrait économiser un peu plus. (Et bien sûr, il y a lased -z
solution triviale que je présume que vous avez intentionnellement évitée)man sed
un peu et suis arrivé à 30. N'hésitez pas à me faire savoir tout ce que j'ai manqué, vous avez l'expérience du golf sur cette langue. (Oh,-z
c'est nouveau pour moi, mais je suis d'accord. Je resterai sans.)05AB1E , 15 octets
Essayez-le en ligne!
Pas regexes dans 05AB1E, donc nous nous sommes séparés sur
"
, faire une liste des alternance``
et''
, puis les deux entrelacer.la source
Haskell ,
676058 octetsEssayez-le en ligne!
La fonction pertinente est
(#0)
.Comme je pensais à l'origine que la question nous obligeait également à convertir des guillemets simples, voici une version qui gère les deux:
Haskell , 125 octets
Essayez-le en ligne!
la source
"\""
devrait être"''"
(deux apostrophes)"
en tex, vous pouvez l'utiliser ici.QuadR , 14 octets
Essayez-le en ligne!
Recherche / remplacement simple à l'aide de l'encapsuleur @ Adám pour Dyalog APL
⎕R
fonction eplace de .Comment:
la source
rouge , 79 octets
Essayez-le en ligne!
la source
Gelée , 13 octets
Un programme complet.
Essayez-le en ligne!
Comment?
la source
Lua , 36 octets
Essayez-le en ligne!
Wow, seulement deux caractères de plus que la solution js.
la source
Perl 5
-p0
, 19 octetsEssayez-le en ligne!
la source
Stax , 11 octets
Exécuter et déboguer
Procédure:
'"'
par un bloc qui produit des sorties alternées de paires de backticks et de foreticks (?)la source
Java 8, 40 octets
Essayez-le en ligne.
Explication:
Explication de l'expression régulière:
la source