Sebuah kutipan adalah "pengulangan satu ekspresi sebagai bagian dari satu sama lain". Dalam bahasa Inggris Amerika, kutipan dikelilingi oleh tanda kutip ganda ("), seperti pada kalimat sebelumnya. Namun, aturan ini berbeda ketika kutipan muncul di dalam kutipan lain. Dalam hal ini, kutipan dalam dikelilingi oleh tanda kutip tunggal (').
Tantangan
Diberikan string sebagai input, output versi quotable string yang dengan menukar tanda kutip ganda dan tunggal yang digunakan untuk kutipan dalam.
Hanya ada satu tangkapan, tidak semua tanda kutip tunggal digunakan untuk kutip! Untuk tantangan ini, tanda kutip tunggal digunakan untuk kutip jika dan hanya jika:
- Tanda diawali oleh karakter non-alfanumerik, atau
- Tanda diikuti oleh karakter non-alfanumerik yang bukan spasi
Tanda yang digunakan untuk kutipan dijamin seimbang; artinya, Anda tidak perlu menangani input yang tidak valid. Selain itu, tanda kutip ganda hanya akan digunakan dalam situasi di mana tanda kutip tunggal dapat digunakan untuk mewakili kutipan.
Uji Kasus
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.'"
Mencetak gol
Ini kode-golf , jadi jawaban tersingkat di setiap bahasa menang!
sumber
... if' it" runs' deep"
memiliki tanda kutip tunggal yang tidak didahului oleh non-alfanumerik, juga tidak diikuti oleh "karakter non-alfanumerik yang bukan spasi", namun sedang diubah!"Nested, 'quotes, it's unfortunate', to be sure."
- Saya pikir Anda perlu kasus bersarang dengan kontraksi.Jawaban:
Ruby ,
64666564 + 1 =65676665 byte+1 byte untuk
-n
bendera.Cobalah online!
sumber
Retina ,
3427 byte-7 byte terima kasih kepada @Leo
Cobalah online!
sumber
@carusocomputing said, "Nested, 'quotes, it's unfortunate', to be sure."
sebagai input, tanda kutip tunggalunfortunate
tidak berubah menjadi tanda kutip ganda, tetapi seharusnya. Jika itu membantu Anda men-debug, itu berfungsi ketika koma datang sebelum kutipan. (Saya tidak tahu Retina jadi saya benar-benar tidak bisa membantu lebih jauh.)JavaScript (ES6), 90 byte
Mengasumsikan string tidak mengandung
#
.Tampilkan cuplikan kode
sumber