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

স্ট্রিংকে অক্ষর, সংখ্যা ও স্পেশাল ক্যারেক্টারে ভাগ করা - JavaScript

একটি স্ট্রিংকে তিন গ্রুপে ভাগ করা: অক্ষর (A-Z, a-z), সংখ্যা (0-9), এবং স্পেশাল ক্যারেক্টার।

উদাহরণ

Input: "Th!s String C0nt@1ns d1fferent ch@ract5rs"

Output:
{
  alpha: "ThsStringCntnsdfferentchractrs",
  numbers: "0115",
  special: "! @ @"
}

সমাধান

const separateCharacters = (str) => {
  const result = { alpha: '', numbers: '', special: '' };
  
  for (const char of str) {
    if (char >= '0' && char <= '9') {
      result.numbers += char;
    } else if (char.toUpperCase() !== char.toLowerCase()) {
      // অক্ষর (upper !== lower মানে আলফাবেটিক)
      result.alpha += char;
    } else {
      result.special += char;
    }
  }
  
  return result;
};

// Regex ভার্সন (আরো স্পষ্ট)
const separateCharactersRegex = (str) => {
  return {
    alpha: (str.match(/[A-Za-z]/g) || []).join(''),
    numbers: (str.match(/[0-9]/g) || []).join(''),
    special: (str.match(/[^A-Za-z0-9]/g) || []).join('')
  };
};

// টেস্ট
const str = "Th!s String C0nt@1ns d1fferent ch@ract5rs";
console.log(separateCharacters(str));
console.log(separateCharactersRegex(str));

ব্যাখ্যা

  • char.toUpperCase() !== char.toLowerCase(): ইউনিকোড-সেফ অক্ষর ডিটেকশন
  • Regex: আরও পড়া সহজ এবং রক্ষণাবেক্ষণে সহজ
  • অর্ডার: মূল স্ট্রিংয়ের অর্ডার সংরক্ষিত থাকে

ইউনিকোড সাপোর্ট

// বাংলা/ইউনিকোড টেক্সটের জন্য
const separateUnicode = (str) => {
  return {
    letters: (str.match(/\p{L}/gu) || []).join(''),      // যেকোনো ভাষার অক্ষর
    numbers: (str.match(/\p{N}/gu) || []).join(''),      // যেকোনো স্ক্রিপ্টের সংখ্যা
    others: (str.match(/[^\p{L}\p{N}]/gu) || []).join('') // বাকি সব
  };
};

console.log(separateUnicode("বাংলা123!@#"));
// {letters: "বাংলা", numbers: "123", others: "!@#"}

উৎপাদন

{
  numbers: '0115',
  alpha: 'ThsStringCntnsdfferentchractrs',
  special: '! @ @'
}
  1. জাভাস্ক্রিপ্টে সিমিলার স্ট্রিং গ্রুপ খুঁজে বের করা

  2. জাভাস্ক্রিপ্টে স্ট্রিং ভ্যালিডেশন (নম্বর অনুযায়ী সাবস্ট্রিং দৈর্ঘ্য যাচাই)

  3. জাভাস্ক্রিপ্টে কার্ডগুলো গ্রুপে সাজানো

  4. পাইথনে টাপলকে n গ্রুপে বিভক্ত করা