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

JavaScript-এ replace() এবং Regex ব্যবহার করে স্ট্রিং থেকে হোয়াইটস্পেস মুছে ফেলা

ভূমিকা

স্ট্রিংয়ের শুরু এবং শেষে থাকা হোয়াইটস্পেস (whitespace) মুছে ফেলার জন্য JavaScript-এ `replace()` মেথড এবং রেগুলার এক্সপ্রেশন (Regex) ব্যবহার করা হয়। এটি `trim()` মেথডের ম্যানুয়াল ইমপ্লিমেন্টেশন।

সম্পূর্ণ কোড

function removeSpacesAtTheBeginningAndTheEnd(name) {
  return name.toString().replace(/^\s+|\s+$/g, '');
}

var fullName = " John Smith ";
var valueAfterRemovingSpace = removeSpacesAtTheBeginningAndTheEnd(fullName);
console.log(valueAfterRemovingSpace);

Regex ব্যাখ্যা: `/^\s+|\s+$/g`

প্যাটার্ন অর্থ
`^` স্ট্রিংয়ের শুরু
`\s+` এক বা একাধিক হোয়াইটস্পেস (স্পেস, ট্যাব, নিউলাইন)
`|` OR অপারেটর
`\s+$` স্ট্রিংয়ের শেষে এক বা একাধিক হোয়াইটস্পেস
`g` গ্লোবাল ফ্ল্যাগ (সব মিল রিপ্লেস)

আউটপুট

John Smith

বিকল্প পদ্ধতিগুলো

১. বিল্ট-ইন trim() (সেরা ও স্ট্যান্ডার্ড)

const trimmed = " John Smith ".trim(); // "John Smith"
const trimStart = " John Smith ".trimStart(); // "John Smith "
const trimEnd = " John Smith ".trimEnd();   // " John Smith"

২. Regex variants

// শুধু শুরুর স্পেস
str.replace(/^\s+/, '')

// শুধু শেষের স্পেস
str.replace(/\s+$/, '')

// সব স্পেস (মাঝপথেরও)
str.replace(/\s+/g, '')

// শুধু স্পেস ক্যারেক্টার (ট্যাব/নিউলাইন না)
str.replace(/ +/g, '')

৩. Polyfill for trim (পুরানো ব্রাউজার)

if (!String.prototype.trim) {
  String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, '');
  };
}

ব্যবহারিক উদাহরণ

// ইউজার ইনপুট স্যানিটাইজেশন
const sanitizeInput = (input) => 
  input.trim().replace(/\s+/g, ' '); // মাঝপথের মাল্টিপল স্পেস সিঙ্গলে

console.log(sanitizeInput("  hello    world  ")); // "hello world"

// ফরম ভ্যালিডেশন
const isValidName = (name) => name.trim().length > 0;

Regex প্যাটার্ন চিট শিট

প্যাটার্ন ম্যাচ করে
`\s`যেকোনো হোয়াইটস্পেস (space, tab, newline)
`\S`নন-হোয়াইটস্পেস
`\d`ডিজিট (0-9)
`\w`ওয়ার্ড ক্যারেক্টার (a-z, A-Z, 0-9, _)
`^`স্ট্রিং শুরু
`$`স্ট্রিং শেষ

সারাংশ

আধুনিক JavaScript-এ **`String.prototype.trim()`** ব্যবহার করুন। Regex শিখতে বা লিগ্যাসি সাপোর্টের জন্য `/^\s+|\s+$/g` প্যাটার্ন জানা ভালো। `replace()` মেথডে Regex দিয়ে পাওয়ারফুল স্ট্রিং ম্যানিপুলেশন সম্ভব।

  1. জাভাস্ক্রিপ্ট RegExp ব্যবহার করে স্ট্রিং রিপ্লেস করা

  2. জাভাস্ক্রিপ্ট দিয়ে স্ট্রিং-এ সব ডট কীভাবে রিপ্লেস করবেন?

  3. জাভাস্ক্রিপ্টে কিউ (Queue) থেকে ডিকিউ (Dequeue) অপারেশন

  4. জাভাস্ক্রিপ্টে PriorityQueue-এ Dequeue (Remove) অপারেশন