Regex (রেগুলার এক্সপ্রেশন) ব্যবহার করে জাভাস্ক্রিপ্ট দিয়ে স্ট্রিং-এর ভিতরে সাদা স্থান প্রতিস্থাপন করতে শিখুন - পাঠ্যের মধ্যে প্যাটার্ন খোঁজার একটি টুল।
Regex (প্রায়শই বানান "RegEx বা "RegExp") স্ট্রিং (টেক্সট) এর সাথে কাজ করার জন্য একটি কার্যকরী টুল। Regex সবচেয়ে সাধারণ ব্যবহারের ক্ষেত্রে হল:
- পাঠ্য যাচাইকরণ
- পাঠ্য অনুসন্ধান
আজ আপনি একটি সাধারণ উদাহরণ থেকে শিখবেন যেটি পাঠ্যের একটি লাইনের (স্ট্রিং) সমস্ত সাদা স্থানকে কিছুই না দিয়ে প্রতিস্থাপন করতে regex ব্যবহার করে — কিন্তু আপনি অন্যান্য অক্ষর দিয়ে সাদা স্থান প্রতিস্থাপন করতে নিম্নলিখিত কোড উদাহরণ ব্যবহার করতে পারেন।
সাদা স্থান একটি চরিত্র হিসাবে বিবেচিত হয়। সুতরাং আপনি এখন পড়ছেন এই বাক্যটির শব্দগুলির মধ্যে প্রতিটি স্থানকে একটি সাদা স্পেস অক্ষর হিসাবে গণনা করা হবে।
এই বাক্যটিতে 6টি সাদা স্থানের অক্ষর রয়েছে৷
সাদা স্থান অক্ষর প্রতিস্থাপন করতে, regex একটি তথাকথিত মেটা-অক্ষর আছে \s
বলা হয় যেটি নিউলাইন, ট্যাব এবং ইউনিকোড সহ একটি একক সাদা স্থানের অক্ষর খোঁজে।
এই মত:
const sentence = "This sentence has 6 white space characters."
console.log(sentence.replace(/\s/g, ""))
// Thissentencehas6whitespacecharacters.
কোডটিতে কী ঘটছে:
- প্রথমে, আমরা
replace()
সংযুক্ত করিsentence
পদ্ধতি ভেরিয়েবল যা সেই স্ট্রিংকে উল্লেখ করে যেটি থেকে আমরা সাদা স্থান সরাতে চাই। - তারপর উপরে উল্লিখিত
\s
যোগ করুন সাদা স্থান অক্ষর খুঁজে পেতে একটি যুক্তি হিসাবে মেটা অক্ষর. কারণ ব্যাকস্ল্যাশ (\
) হল একটি সংরক্ষিত পালানো জাভাস্ক্রিপ্টে অক্ষর, আমরা/
যোগ করি এটির সামনে আনস্কেপ করতে এটি, তাই এটি/\s/
হয়ে যায় . - তারপর আমরা গ্লোবাল
g
ব্যবহার করি পতাকা, যা জাভাস্ক্রিপ্টকে বলে যে আমরা সমস্ত খুঁজতে চাই স্ট্রিং থেকে সাদা স্থান অক্ষর. আপনি যদিg
যোগ না করেন , শুধুমাত্র প্রথম সাদা স্থানের উদাহরণ (This sentence
মধ্যে ) প্রতিস্থাপিত হবে। - অবশেষে, আমরা কী দিয়ে সাদা স্থান প্রতিস্থাপন করছি? যেকোনো খালি স্ট্রিং
""
যা হোয়াইট স্পেস অক্ষরগুলিকে সরিয়ে দেয় এবং প্রতিটি শব্দকে একটি একক শব্দে আঠালো করে তোলে৷
৷
দ্রষ্টব্য:আমরা মূল sentence
পরিবর্তন করিনি এটি করে পরিবর্তনশীল, আমরা শুধু console.log()
ব্যবহার করছি আপনি replace(/\s/g, "")
ব্যবহার করলে কেমন দেখাবে তা প্রিন্ট করতে এটিতে regex পদ্ধতি।
আপনি যদি sentence
মান পরিবর্তন করতে চান ভেরিয়েবল যাতে কোন সাদা স্পেস থাকে না, আপনাকে এটিকে একটি নতুন ভেরিয়েবলের সাথে বরাদ্দ করতে হবে, এবং তারপরে যখন আপনার এটিতে অ্যাক্সেসের প্রয়োজন হবে তখন থেকে সেই ভেরিয়েবলটিকে উল্লেখ করুন৷
এই মত:
const sentence = "This sentence has 6 white space characters."
const sentenceRemoveWhiteSpace = sentence.replace(/\s/g, "")
console.log(sentenceRemoveWhiteSpace)
// Thissentencehas6whitespacecharacters.
এবং আমার গণিত সঠিক কিনা তা নিশ্চিত করার জন্য, আসুন match()
নামে আরেকটি দরকারী রেজেক্স পদ্ধতি ব্যবহার করি। আসল sentence
-এ সাদা স্থানের অক্ষরের সংখ্যা গণনা করতে পরিবর্তনশীল এবং দেখুন এটি সত্যিই 6:
console.log(sentence.match(/\s/g).length)
// 6
উফ, এটা!