আমার উক্তি!


13

একটি উদ্ধৃতি হ'ল "অন্য একটির অংশ হিসাবে একটি প্রকাশের পুনরাবৃত্তি"। আমেরিকান ইংরেজিতে, আগের বাক্যটির মতোই একটি উদ্ধৃতি দ্বি-কোটেশন চিহ্ন (") দ্বারা বেষ্টিত থাকে। তবে, এই বিধানটি আলাদা হয় যখন অন্য একটি উদ্ধৃতিটির ভিতরে একটি উদ্ধৃতি উপস্থিত হয়। এই ক্ষেত্রে, অভ্যন্তরীণ উক্তিটি একক-উদ্ধৃতি চিহ্ন দ্বারা ঘিরে থাকে ( ')।

চ্যালেঞ্জ

ইনপুট হিসাবে একটি স্ট্রিং দেওয়া হয়েছে, অভ্যন্তরীণ উদ্ধৃতি হিসাবে ব্যবহৃত হয় এমন ডাবল এবং একক-উদ্ধৃতি চিহ্নগুলি বিনিময় করে সেই স্ট্রিংয়ের একটি উদ্ধৃত সংস্করণ আউটপুট করুন।

কেবল একটি ধরা আছে, যদিও - সমস্ত একক উদ্ধৃতি চিহ্ন উদ্ধৃতি হিসাবে ব্যবহার করা হয় না! এই চ্যালেঞ্জের জন্য, একক-উদ্ধৃতি চিহ্ন উদ্ধৃতিতে ব্যবহৃত হয় যদি এবং কেবল যদি:

  • চিহ্নটির পূর্বে কোনও অক্ষরহীন অক্ষর বা by
  • চিহ্ন একটি অ-আলফানিউমেরিক অক্ষর যে দ্বারা অনুসরণ করা হয় না একটি স্থান

উদ্ধৃতিগুলির জন্য ব্যবহৃত চিহ্নগুলি ভারসাম্যপূর্ণ হওয়ার গ্যারান্টিযুক্ত; তা হল, আপনাকে অবৈধ ইনপুট হ্যান্ডেল করার দরকার নেই। অতিরিক্তভাবে, ডাবল-উদ্ধৃতি চিহ্নগুলি কেবল এমন পরিস্থিতিতে ব্যবহার করা হবে যেখানে একক উদ্ধৃতি চিহ্ন উদ্ধৃতি উপস্থাপন করতে ব্যবহার করা যেতে পারে।

পরীক্ষার কেস

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.'"

স্কোরিং

এটি , তাই প্রতিটি ভাষার সংক্ষিপ্ত উত্তরটি জিতে যায়!



2
... if' it" runs' deep"একটি একক-কোট রয়েছে যা অ-বর্ণমালা দ্বারা সংঘটিত হয় না বা তাদের অনুসরণ করে "অ-অক্ষরচিহ্ন যা কোনও স্থান নয়" এবং তবুও সেগুলি রূপান্তরিত হচ্ছে!
মান কালি

1
ব্যক্তিগতভাবে আমি অনুভব করি না যে এস্ট্রোফেসকে পরিচালনা করা চ্যালেঞ্জের অনেক বেশি মূল্য যোগ করে।
এটাকো

1
@ জোনাথান অ্যালান হ্যাঁ আমি মনে করি যে এই একক উদ্ধৃতি চিহ্নগুলি নিয়মগুলি গভীরভাবে জটিল না করে উদ্ধৃতি বা দখলের জন্য ব্যবহৃত হয়েছে কিনা তা নির্ধারণ করা কঠিন। আমি মনে করি এটি নিজেরাই একটি শালীন চ্যালেঞ্জ তৈরি করবে।
musicman523

1
"Nested, 'quotes, it's unfortunate', to be sure."- আমি মনে করি আপনার সংকোচনের সাথে নেস্টেড কেস দরকার।
ম্যাজিক অক্টোপাস উরন

উত্তর:


2

রুবি , 64 66 65 64 + 1 = 65 67 66 65 বাইট

-nপতাকাটির জন্য +1 বাইট ।

gsub(/"|(?<!\w)'|'(?!\w|\s)/){"'\""["\"'".index$&]}
$><<?"+$_+?"

এটি অনলাইন চেষ্টা করুন!


কোনও স্থান দ্বারা পূর্বে একক-উদ্ধৃতি চিহ্নগুলির জন্য সঠিক কাজটি করা মনে হচ্ছে না (যা সত্যই উদ্ধৃতি হিসাবে ব্যবহৃত হয়)
musicman523

@ musicman523 ধন্যবাদ, স্থির!
মান কালি

2

রেটিনা , 34 27 বাইট

-7 বাইটস @ লিওকে ধন্যবাদ

T`'"`"'`\W'|"|'[^\w ]
^|$
"

এটি অনলাইন চেষ্টা করুন!


সঙ্গে @carusocomputing said, "Nested, 'quotes, it's unfortunate', to be sure."ইনপুট হিসাবে, একক উদ্ধৃতি নিম্নলিখিত unfortunateডাবল উদ্ধৃতি পরিবর্তিত না হয়, কিন্তু হওয়া উচিত। যদি এটি আপনাকে ডিবাগ করতে সহায়তা করে তবে কোটা উদ্ধৃতি দেওয়ার আগে কমা এলে এটি কাজ করে। (আমি রেটিনা জানি না তাই আমি আর কোনও সাহায্য করতে পারি না))
সঙ্গীতকার 523


আপনি আপনার অক্ষর শ্রেণীর ভিতরে সরাসরি \ w ব্যবহার করতে পারেন
লিও

0

জাভাস্ক্রিপ্ট (ES6), 90 বাইট

ধরে নিন স্ট্রিংটি এতে নেই #

s=>'"'+s[r='replace'](/"/g,'#')[r](/(\W)'/g,'$1"')[r](/'([^\w ])/g,'"$1')[r](/#/g,"'")+'"'

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.