কম্পিউটার টিউটোরিয়াল

JavaScript-এ স্ট্রিংয়ের ভিতর হোয়াইট স্পেস রিপ্লেস করার পদ্ধতি (RegEx ব্যবহার করে)

Regex (Regular Expressions) — টেক্সটের ভিতর প্যাটার্ন খুঁজে বের করার একটি টুল — ব্যবহার করে JavaScript-এ স্ট্রিংয়ের ভিতর হোয়াইট স্পেস রিপ্লেস করার পদ্ধতি শিখুন।

Regex (প্রায়শই "RegEx" বা "RegExp" স্পেল করা হয়) স্ট্রিং (টেক্সট) নিয়ে কাজ করার একটি পারফরম্যান্ট টুল। Regex-এর সবচেয়ে সাধারণ ইউজ কেসগুলো হলো:

  • টেক্সট ভ্যালিডেশন
  • টেক্সট সার্চিং

আজ আপনি একটি সিম্পল উদাহরণ থেকে শিখবেন যা regex ব্যবহার করে একটি লাইন টেক্সট (স্ট্রিং) এর সকল হোয়াইট স্পেস কিছু না দিয়ে রিপ্লেস করে — কিন্তু আপনি নিচের কোড উদাহরণটি হোয়াইট স্পেস অন্য ক্যারেক্টার দিয়ে রিপ্লেস করতে পারেন।

হোয়াইট স্পেস একটি ক্যারেক্টার হিসেবেই বিবেচিত হয়। সুতরাং আপনি এখন যা পড়ছেন এই সেন্টেন্সের শব্দগুলোর মাঝপথের প্রতিটি স্পেস এক হোয়াইট স্পেস ক্যারেক্টার হিসেবে গণনা হয়।

এই সেন্টেন্সে ৬টি হোয়াইট স্পেস ক্যারেক্টার আছে।

হোয়াইট স্পেস ক্যারেক্টার রিপ্লেস করতে, regex-এ একটি সো-কলড মেটা-ক্যারেক্টার আছে \s যা একটি একক হোয়াইট স্পেস ক্যারেক্টার খুঁজে বের করে, নিউলাইন, ট্যাব, এবং ইউনিকোড সহ।

নিচের মতো:

const sentence = "This sentence has 6 white space characters." console.log(sentence.replace(/\s/g, "")) // Thissentencehas6whitespacecharacters.

কোডে কী হচ্ছে:

  • প্রথমে, আমরা replace() মেথডটি sentence ভেরিয়েবলটিতে আটাচ করি যা স্ট্রিংটি রেফারেন্স করে যেটি থেকে আমরা হোয়াইট স্পেস রিমুভ করতে চাই।
  • তারপর উপরে উল্লিখিত \s মেটা ক্যারেক্টার আর্গুমেন্ট হিসেবে যোগ করি হোয়াইট স্পেস ক্যারেক্টার খুঁজে বের করতে। কারণ ব্যাকস্ল্যাশ (\) JavaScript-এ একটি রিজার্ভড এস্কেপ ক্যারেক্টার, আমরা এর সামনে / যোগ করি এটিকে আন-এস্কেপ করার জন্য, যাতে এটি হয় /\s/।
  • তারপর আমরা গ্লোবাল g ফ্ল্যাগ ব্যবহার করি, যা JavaScript-কে বলে যে আমরা স্ট্রিং থেকে সকল হোয়াইট স্পেস ক্যারেক্টার খুঁজে বের করতে চাই। আপনি যদি 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.

এবং শুধু নিশ্চিত করার জন্য যে আমার গণিত সঠিক, আসুন আরেকটি উপকারী regex মেথড match() ব্যবহার করি আসল sentence ভেরিয়েবল-এর হোয়াইট স্পেস ক্যারেক্টার গণনা করতে এবং দেখি সেটি কি সত্যিই ৬:

console.log(sentence.match(/\s/g).length) // ৬

ফিউ, সঠিক!

  1. জাভাস্ক্রিপ্টে একসেন্টযুক্ত ক্যারেক্টরের স্ট্রিং সর্ট করা

  2. C#-তে একাধিক স্পেসকে সিঙ্গল স্পেসে রিপ্লেস কীভাবে করবেন?

  3. জাভা রেজেক্স ব্যবহার করে স্ট্রিং-এ একাধিক স্পেসকে একক স্পেসে রিপ্লেস করা

  4. জাভা রেগেক্স দিয়ে হোয়াইটস্পেস ম্যাচ করা (\s)