VSCode -এ regEx ব্যবহার করে খুব গ্রুপ টেক্সট পরিবর্তনের উপায়
৪ জানুয়ারি, ২০২৫, শনিবার
কাজের জায়গায় regEX ব্যবহার করে একটা প্রবেলম সল্ভ করলাম। যেটা করতে ম্যানুয়ালি অনেক সময় লাগতো, সেটা VSCode -এ সার্চ-রিপ্লেস টুল আর regEx ব্যবহার করে খুব সহজে, চট করে করে ফেললাম। সেটাই শেয়ার করার জন্য লিখছি। ডিসক্লাইমার: আমি নিজে উপায়টা বের করি নাই, আমার কলিগ মাইকেলের কাছ থেকে শিখলাম।
প্রথমে প্রবলেমটা কি ছিল সেটা বলি: আমাদের কোডবেসে একটা রেফ্যাক্টরিং করতে হবে। সহজ একটা রেফ্যাক্টরিং। কিন্তু কোডের অনেক জায়গায় এই একই কাজ করতে হবে: একটা নির্দিষ্ট মেথডের প্রথম প্যারামিটার অপরিবর্তিত রেখে, দ্বিতীয় প্যারামিটার, যেটা একটা ডিকশেনারী, তাতে একটা নতুন কী-ভ্যালু পেয়ার, newKey: newVal যোগ করতে হবে। নিচের ছবিতে উদাহরণ দিচ্ছি, বাম দিকের ছবিতে এখন যা আছে, আর ডানের ছবিতে রেফ্যাক্টরিং করে আমরা যেইটা চাই, সেটা দিয়ে দিচ্ছি।
ছবি ১: বামে এখন যা আছে, ডানে রেফ্যাক্টরিং করে আমরা যা চাই |
দ্বিতীয় সলুশনটা হচ্ছে regEx ব্যবহার করে সার্চ-এন্ড-রিপ্লেস। সমস্যাটা হচ্ছে, প্রথম প্যারামিটার আর দ্বিতীয় প্যারামিটার-এর ডিকশনারিতে অলরেডি যে ভ্যালুগুলো আছে, সেগুলো তো অক্ষত রাখতে হবে। আর এইটাই regEx দিয়ে গ্রুপ করে করে রিপ্লেস করে ফেলা যায়। নিচের ছবিতে উদাহরণ দিচ্ছি।
ছবি ২: regEx ব্যবহার করে গ্রুপ ভ্যালু রেখে সার্চ-রিপ্লেস |
regEx 'র আরেকটা মজা হচ্ছে, এই একই কাজ অন্য regEx এক্সপ্রেশন দিয়েও করা যায়। সেটা কী কেউ জানলে সাজেস্ট করবেন, ধন্যবাদ!