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

জাভাস্ক্রিপ্টে স্ট্রিং চান্কে ভাগ করা স্পেস সরিয়ে

সমস্যা

একটি স্ট্রিং (যাতে স্পেস থাকতে পারে) এবং একটি সংখ্যা num দেওয়া আছে। প্রথমে স্ট্রিং থেকে সব স্পেস সরাতে হবে, তারপর সেটিকে num দৈর্ঘ্যের চান্ক (chunk) এ ভাগ করতে হবে। শেষ চান্কটি ছোট হতে পারে।

উদাহরণ কোড


const num = 5;
const str = 'This is an example string';

const splitString = (str = '', num = 1) => {
  str = str.replace(/\s/g, ''); // সব স্পেস সরান
  const arr = [];
  for (let i = 0; i < str.length; i += num) {
    arr.push(str.slice(i, i + num));
  }
  return arr;
};

console.log(splitString(str, num));

আউটপুট

[ 'Thisi', 'sanex', 'ample', 'strin', 'g' ]

ব্যাখ্যা

  • str.replace(/\s/g, '') - রেগেক্স দিয়ে সব হোয়াইটস্পেস সরানো হয়েছে।
  • লুপ i += num ধাপে চলে, প্রতিবার slice(i, i+num) দিয়ে চান্ক কাটা হয়।
  • শেষ চান্কটি ('g') দৈর্ঘ্য ১, কারণ স্ট্রিংয়ের দৈর্ঘ্য ২১, ৫ দিয়ে ভাগশেষ ১।

আধুনিক সংক্ষিপ্ত সংস্করণ


const splitStringModern = (str, num) => 
  str.replace(/\s/g, '').match(new RegExp(`.{1,${num}}`, 'g')) || [];

console.log(splitStringModern('This is an example string', 5)); 
// ['Thisi', 'sanex', 'ample', 'strin', 'g']

Regex ব্যাখ্যা

  • .{1,5} - ১ থেকে ৫টি যেকোনো ক্যারেক্টার (নন-গ্রিডি)
  • g - গ্লোবাল, সব মিল খুঁজে
  • || [] - যদি ম্যাচ না পায় (খালি স্ট্রিং), খালি অ্যারে রিটার্ন

প্রয়োগের ক্ষেত্র

  • টেক্সট ফরম্যাটিং (যেমন: ক্রেডিট কার্ড নম্বর, ফোন নম্বর গ্রুপিং)
  • ডেটা ট্রান্সমিশন için ফিক্সড-লেন্থ প্যাকেট তৈরি
  • ক্রিপ্টোগ্রাফি/এনকোডিং এলগরিদমে ব্লক প্রসেসিং
  1. জাভাস্ক্রিপ্টে শব্দ উল্টে 스페স সংরক্ষণ

  2. জাভাস্ক্রিপ্টে লেক্সিকোগ্রাফিক্যালি সাজিয়ে হোয়াইটস্পেস সরানো

  3. জাভাস্ক্রিপ্টে স্ট্রিংকে সর্বোচ্চ অংশে ভাগ করা

  4. সি শার্প String.Empty ব্যবহার করে হোয়াইটস্পেস সরানো