টেক্সট রূপান্তর
টেক্সটনামকরণ রীতি, অক্ষরের কেস, ফুল/হাফ-উইডথ এবং উল্টো ক্রমের মধ্যে টেক্সট রূপান্তর করুন।
এই পৃষ্ঠায়
টেক্সট রূপান্তর টুল কী?#
একটি টেক্সট রূপান্তর টুল একটি স্থির নিয়ম অনুযায়ী একটি স্ট্রিং পুনরায় লেখে — কেস পরিবর্তন করুন, নামকরণের রীতি পরিবর্তন করুন, হাফ-উইডথ এবং ফুল-উইডথ রূপ ফ্লিপ করুন, বা অক্ষর উল্টান। এই কাজগুলোর বেশিরভাগের উত্তর আপনি সত্যিই চেষ্টা না করলে মাথায় এক লাইনে থাকে: “এই হেডারটিকে kebab-case-এ রূপান্তর করুন” Content Type-এর জন্য স্পষ্ট কিন্তু HTTPServer, getUserById_v2, বা X-Rate-Limit-Remaining-এর জন্য অস্পষ্ট। কোন অংশগুলো শব্দ? সীমানাগুলো কোথায় পড়ে?
এই টুল একটি একক, অনুমানযোগ্য শব্দ-বিভাজক দিয়ে সেই প্রশ্নের উত্তর দেয়। এটি বিভাজকগুলো স্বাভাবিক করে (আন্ডারস্কোর, হাইফেন, সাদাসিধে, যতিচিহ্ন), তারপর camelCase এবং PascalCase জোড়ে, সংক্ষিপ্ত রূপ-থেকে-শব্দ জোড়ে (HTTPServer → HTTP Server), এবং অক্ষর-থেকে-সংখ্যা জোড়ে (v2 → v 2) সীমানা সন্নিবেশ করে। ফলস্বরূপ টোকেনগুলো বারোটি অপারেশনে খাওয়ায়: পাঁচটি নামকরণের রীতি (camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE), চারটি অক্ষর কেস (UPPER, lower, Title, Sentence), পূর্ব এশীয় প্রস্থ রূপান্তর (হাফ ↔ ফুল), এবং উল্টানো। উল্টানো Unicode কোড পয়েন্ট অনুযায়ী চলে, তাই ইমোজি এবং অন্যান্য সারোগেট-জোড়া অক্ষর ভাঙা অর্ধেক হওয়ার বদলে অক্ষত থাকে।
কীভাবে ব্যবহার করবেন#
- টুলবারের ড্রপডাউন থেকে ক্রিয়া বাছুন। বারোটি অপশন লজিক্যালভাবে গোষ্ঠীবদ্ধ: প্রথমে নামকরণের রীতি, তারপর অক্ষর কেস, তারপর প্রস্থ রূপান্তর, তারপর উল্টানো।
- বাম দিকের ইনপুট পেনে টাইপ করুন বা পেস্ট করুন, অথবা বিভাজক ব্যায়াম করে এমন একটি উদাহরণ লোড করতে নমুনা চাপুন।
- ডান দিকের আউটপুট পেনে ফলাফল পড়ুন — এটি ইনপুট বা নির্বাচিত অপারেশন পরিবর্তনের সাথে সাথে আপডেট হয়।
- রূপান্তরিত স্ট্রিং ধরতে আউটপুট হেডারে কপি ক্লিক করুন, বা নতুন করে শুরু করতে মুছুন।
অপারেশনগুলো সম্পূর্ণ: খালি ইনপুট খালি আউটপুট দেয়, এবং কোনো অপারেশনই থ্রো করতে পারে না। ড্রপডাউন পরিবর্তন করা একই ইনপুটকে তাৎক্ষণিকভাবে নতুন নিয়মের মাধ্যমে পুনরায় চালায়, যা এটিকে একই শনাক্তকারীর জন্য snake_case-কে kebab-case-এর বিপরীতে তুলনা করার একটি দ্রুত উপায় করে তোলে।
প্রধান বৈশিষ্ট্য#
- এক বিভাজক, বারোটি আউটপুট। একই শব্দ সীমানা প্রতিটি নামকরণের রীতিতে খাওয়ায়, তাই
getUserById_v2সামঞ্জস্যপূর্ণgetUserByIdV2/GetUserByIdV2/get_user_by_id_v2/get-user-by-id-v2/GET_USER_BY_ID_V2তৈরি করে। - সংক্ষিপ্ঘ রূপ-সচেতন বিভাজন।
HTTPServerভাগ হয়HTTP+Server-এ,HTTPServerনয় — স্বীকৃত প্যাটার্ন (বড় হাতের অক্ষরের একটি রান তার পরে একটি বড়-হাতের-প্লাস-ছোট-হাতের শব্দ) সংক্ষিপ্ঘ রূপগুলোকে পাঠযোগ্য রাখে। - অক্ষর-থেকে-সংখ্যা সীমানা।
v2দুটি টোকেন হয়, তাইversion2একটি সংখ্যাকে শব্দের সাথে আঠালো করার বদলে পরিষ্কারভাবে slugify হয়। - পূর্ব এশীয় প্রস্থ রূপান্তর। হাফ-উইডথ ASCII
Hello 123ফুল-উইডথHello 12৩হয় (স্পেস সহ), এবং বিপরীতটি ASCII পুনরুদ্ধার করে — কার্যকর যখন পূর্ব এশীয় ফর্ম পূরণ করা হয় বা CJK টেক্সট সারিবদ্ধ করা হয়। - কোড-পয়েন্ট উল্টানো।
a😀bউল্টালেb😀aদেয়, একটি ভাঙা ইমোজি নয় — বিভাজক UTF-16 কোড ইউনিটের বদলে কোড পয়েন্ট ধরে চলে। - স্থানীয় এবং তাৎক্ষণিক। কোনো নেটওয়ার্ক নেই, কোনো আপলোড নেই; প্রতিটি রূপান্তর পৃষ্ঠায় বিশুদ্ধ স্ট্রিং গণিত।
ব্যবহারের উদাহরণ#
একটি মানব-পাঠযোগ্য লেবেল ইনপুটে পেস্ট করুন:
user first name
ক্রিয়াটিকে পাঁচটি নামকরণের রীতির মাধ্যমে পরিবর্তন করুন এবং আউটপুট পেন লক্ষ্য করুন:
- camelCase →
userFirstName - PascalCase →
UserFirstName - snake_case →
user_first_name - kebab-case →
user-first-name - CONSTANT_CASE →
USER_FIRST_NAME
এখন রীতি মেশানো একটি অগোছালো শনাক্তকারী চেষ্টা করুন:
HTTPServer v2
বিভাজক HTTP + Server সীমানা এবং v + 2 সীমানা চেনে, তাই আউটপুটগুলো httpservver-v2-তে ধসে পড়ার বদলে পাঠযোগ্য থাকে:
- kebab-case →
http-server-v-2 - snake_case →
http_server_v_2 - CONSTANT_CASE →
HTTP_SERVER_V_2
এটিই এমন একটি রূপান্তরের মধ্যে পার্থক্য যা সত্যিই শনাক্তকারী কাঠামো বোঝে এবং এমন একটির যা কেবল ছোট হাতের করে এবং একটি বিভাজকে যোগ দেয়।
প্রশ্নোত্তর#
HTTPServer কেন h-t-t-p-server হয় না?#
কারণ বিভাজক বড় হাতের অক্ষরের একটি রান যার পরে একটি বড়-হাতের-প্লাস-ছোট-হাতের শব্দ আছে তাকে একটি সংক্ষিপ্ঘ রূপ প্লাস একটি শব্দ হিসেবে বিবেচনা করে। HTTPServer-কে HTTP + Server হিসেবে পড়া হয়, যা প্রায় সবসময়ই আপনি যা বোতাম চেয়েছিলেন। একটি সরল বিভাজক যা প্রতিটি বড় হাতের অক্ষরে ভাঙত h-t-t-p-server-এর মতো অপঠনযোগ্য slug তৈরি করত।
Title Case এবং Sentence Case-এর মধ্যে পার্থক্য কী?#
Title Case প্রতিটি সাদাসিধে-সীমাবদ্ধ শব্দের প্রথম অক্ষরটি বড় হাতের করে (the quick fox → The Quick Fox), যা শিরোনাম এবং বইয়ের শিরোনামের জন্য সঠিক। Sentence Case পুরো স্ট্রিংয়ের কেবল প্রথম বর্ণানুক্রমিক অক্ষরটি বড় হাতের করে (the quick fox → The quick fox), যা গদ্য এবং বাক্যের জন্য সঠিক। টেক্সট প্রকৃতপক্ষে যা তার উপর ভিত্তি করে বাছুন।
আমি কখন হাফ-উইডথ ↔ ফুল-উইডথ রূপান্তর ব্যবহার করব?#
পূর্ব এশীয় টাইপোগ্রাফি এবং কিছু সরকারি/ব্যবসায়িক ফর্ম CJK অক্ষরের সাথে ভিজ্যুয়াল সারিবদ্ধতার জন্য ফুল-উইডথ লাতিন অক্ষর এবং সংখ্যা (ABC12৩) আশা করে। অপরদিকে, একটি জাপানিজ উৎস থেকে কপি করা টেক্সট প্রায়শই ফুল-উইডথ রূপে আসে এবং একটি রেগেক্স বা কোড পার্সার গ্রহণ করার আগে ASCII-তে পুনরুদ্ধার প্রয়োজন। দুটি অপারেশন একে অপরের হুবহু বিপরীত।
উল্টানো কি ইমোজি সঠিকভাবে পরিচালনা করে?#
হ্যাঁ। অপারেশনটি UTF-16 কোড ইউনিটের বদলে Unicode কোড পয়েন্ট অনুযায়ী পুনরাবৃত্তি করে (Array.from-এর মাধ্যমে), তাই বেসিক বহুভাষিক প্লেনের বাইরের একটি অক্ষর — একটি 😀 ইমোজি, একটি বিরল CJK আইডিওগ্রাফ, বা একটি গাণিতিক প্রতীক — একক হিসেবে উল্টানো হয়। abc😀def উল্টালে fed😀cba দেয়, ইমোজি অক্ষত।
এটি কি ফাইল বা ভেরিয়েবলের একটি ব্যাচ পুনরায় নামকরণের জন্য কার্যকর?#
একটি একক শনাক্তকারীর জন্য, হ্যাঁ — এটি পেস্ট করুন, রীতি বাছুন, কপি করে বের নিন। ব্যাচ কাজের জন্য আপনি সাধারণত এটি স্ক্রিপ্ট করবেন, কিন্তু এই পৃষ্ঠাটি একটি দ্রুত উপায় একটি রীতি যা আউটপুট তৈরি করে তার নির্দিষ্ট ফলাফল নিশ্চিত করার আগে আপনি এটি একটি রেগেক্স বা কোডমডে প্রতিশ্রুতিবদ্ধ করেন, বিশেষ করে সেই অগোছালো মিশ্র-কেস ইনপুটগুলোর জন্য যা বাগ প্ররোচনা করে।