JavaScript:
একটি নমুনা মেলে অক্ষরগুলি মুছে ফেলা
কিভাবে:
নিয়মিত এক্সপ্রেশন সহ replace()
ব্যবহার করুন। g
ফ্ল্যাগটি প্রথম মিল ছাড়া সব মিল প্রতিস্থাপন করে।
let message = "S0m3 messy-string_with! unwanted characters.";
let cleanMessage = message.replace(/[0-9_!-]/g, '');
console.log(cleanMessage); // আউটপুট: "Sm messystringwith unwanted characters."
গভীরে যাওয়া
জাভাস্ক্রিপ্ট দীর্ঘদিন ধরে প্যাটার্ন ম্যাচিংয়ের জন্য নিয়মিত এক্সপ্রেশন (RegExp
) ব্যবহার করে চলেছে। replace()
ফাংশনটি স্ট্রিং পরিবর্তনের জন্য আপনার যেতে হবে স্থান যেহেতু এটি ভাষার প্রারম্ভিক দিনগুলিতেই প্রবর্তিত হয়েছে। split()
এবং join()
বা স্ট্রিংগুলি পুনর্নির্মাণের জন্য লুপ ব্যবহার করা একটি সম্ভাবনা আছে কিন্তু এগুলি ততোটা সংক্ষিপ্ত নয়।
এখানে একটি ব্রেকডাউন:
- সোজা, এক-লাইনের সমাধানের জন্য
replace()
ব্যবহার করুন। - নিয়মিত এক্সপ্রেশনে শক্তিশালী প্যাটার্ন-ম্যাচিং সুবিধা রয়েছে।
- বৃহৎ স্ট্রিং অথবা ঘন ঘন লুপে
RegExp
-এর পারফরম্যান্সের উপর সচেতন থাকুন।
আধুনিক অনুশীলনের উপর একটি কথা: প্যাটার্নগুলি যেমন /[^a-z]/gi
অক্ষর ছাড়া সবকিছু মুছে ফেলে, i
ফ্ল্যাগের সাথে কেস-সংবেদনশীলতা সম্মান করে। ECMAScript 2015-এ টেমপ্লেট লিটেরালের প্রবর্তনে জটিল প্রতিস্থাপনগুলি সহজ করেছে, পাঠযোগ্যতা বাড়িয়েছে।
নিয়মিত এক্সপ্রেশন এখনও কিছু প্রোগ্রামারের তাদের সংকেত জটিলতার কারণে ভীতি তৈরি করে। তবে, আধুনিক জাভাস্ক্রিপ্টের বিকাশে, স্ট্রিং ম্যানিপুলেশন ফাংশনগুলি (trim()
, padStart()
, padEnd()
ইত্যাদির মতো) যেমন টুলস ও পদ্ধতিগুলি রেগেক্স ছাড়াই সাধারণ কাজের সরলীকরণের জন্য উপলব্ধ।