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

স্ট্রিংয়ের কেস অ্যালটারনেট (Flip Case) - JavaScript

স্ট্রিংয়ের বড় হাতের অক্ষরকে ছোট হাতের এবং ছোট হাতেরকে বড় হাতের করুন।

উদাহরণ

Input:  'The Case OF tHis StrinG Will Be FLiPped'
Output: 'tHE cASE of ThIS sTRINg wILL bE flIpPED'

সমাধান

const flipCase = (str) => {
  return [...str].map(char => {
    // isUpperCase চেক
    if (char === char.toUpperCase() && char !== char.toLowerCase()) {
      return char.toLowerCase();
    }
    // isLowerCase চেক
    if (char === char.toLowerCase() && char !== char.toUpperCase()) {
      return char.toUpperCase();
    }
    return char; // নন-অ্যালফাবেটিক
  }).join('');
};

// ASCII অপ্টিমাইজড (শুধু ইংরেজি)
const flipCaseASCII = (str) => {
  let result = '';
  for (const char of str) {
    const code = char.charCodeAt(0);
    if (code >= 65 && code <= 90) {      // A-Z
      result += String.fromCharCode(code + 32);
    } else if (code >= 97 && code <= 122) { // a-z
      result += String.fromCharCode(code - 32);
    } else {
      result += char;
    }
  }
  return result;
};

// টেস্ট
const str = 'The Case OF tHis StrinG Will Be FLiPped';
console.log(flipCase(str));
console.log(flipCaseASCII(str));
// উভয়: tHE cASE of ThIS sTRINg wILL bE flIpPED

ব্যাখ্যা

  • toUpperCase/toLowerCase: ইউনিকোড সাপোর্ট, লোকালে-সেনসিটিভ
  • ASCII +/- 32: দ্রুত, শুধু ইংরেজি, কোনো লোকালে ইশ্যু নেই
  • char !== char.toLowerCase(): নন-অ্যালফাবেটিক ডিটেকশন (নম্বর, স্পেস, পাঙ্কচুয়েশন)

উৎপাদন

tHE cASE of ThIS sTRINg wILL bE flIpPED
  1. জাভাস্ক্রিপ্ট দিয়ে স্ট্রিং বুলিয়ানে রূপান্তর করা

  2. জাভাস্ক্রিপ্টে ক্যামেলকেস স্ট্রিং আনক্যামেলাইজ করা

  3. জাভাস্ক্রিপ্টে সিমিলার স্ট্রিং গ্রুপ খুঁজে বের করা

  4. জাভাস্ক্রিপ্টে স্ট্রিং কম্প্রেস (Compress) করা