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

JavaScript - kth উপস্থিতি ক্যারেক্টার রিপ্লেস করার স্ট্রিং ফাংশন লেখা


ধরা যাক, আমাদের একটি String.prototype ফাংশন লিখতে হবে যা তিনটি আর্গুমেন্ট নেবে।

  • প্রথম আর্গুমেন্ট হল স্ট্রিং যেটিতে সাবস্ট্রিং খুঁজা হবে
  • দ্বিতীয় আর্গুমেন্ট হল স্ট্রিং, যেটির উপস্থিতি সরাতে হবে
  • তৃতীয় আর্গুমেন্ট হল একটি সংখ্যা n, সাবস্ট্রিং-এর nth উপস্থিতি মুছে ফেলা হবে।

ফাংশনটি নতুন স্ট্রিং রিটার্ন করবে যদি সাবস্ট্রিং রিমুভ সফল হয়, অন্যথায় সব কেসে -1 রিটার্ন করবে।

উদাহরণ

নিচে কোডটি দেওয়া হল −

const str = 'jkdsttjkdsre'; const subStr = 'jk'; const num = 2; removeStr = function(subStr, num){   if(!this.includes(subStr)){     return -1;   }   let start = 0, end = subStr.length;   let occurences = 0;   for(; ;end < this.length){     if(this.substring(start, end) === subStr){       occurences++;     };     if(occurences === num){       return this.substring(0, start) + this.substring(end,this.length);     };     end++;     start++;   } } String.prototype.removeStr = removeStr; console.log(str.removeStr(subStr, num));

এই ফাংশনটি প্রথমে চেক করে: যদি subStr-এর একটিও উপস্থিতি না থাকে তবে আমরা বের হয়ে -1 রিটার্ন করব।

তারপর এটি স্লাইডিং উইন্ডো অ্যালগরিদম ব্যবহার করে subStr-এর স্ট্রিং-এ উপস্থিতির সংখ্যা রেকর্ড করে (উইন্ডো সাইজ subStr-এর দৈর্ঘ্যের সমান)।

প্রাথমিকভাবে, আমরা বামপাশের উইন্ডো থেকে শুরু করি তারপর আমরা আমাদের উইন্ডো স্লাইড করি যতক্ষণ না উইন্ডোর শেষ মূল স্ট্রিং-এর শেষে পৌঁছায়। যদি আমাদের পথে, উপস্থিতির গণনা চাহিদা অনুযায়ী উপস্থিতির সমান হয়, আমরা সেটি স্ট্রিং থেকে কেটে দিয়ে নতুন স্ট্রিং রিটার্ন করি।

যদি আমরা পুরো স্ট্রিং ইটারেট করি, তার মানে subStr-এর পর্যাপ্ত উপস্থিতি স্ট্রিং-এ নেই এবং সেক্ষেত্রে আমরা -1 রিটার্ন করে ফাংশন থেকে বের হয়ে যাব।

শেষে, আমরা removeStr প্রোপার্টি String.prototype-এ যোগ করি যাতে আমরা এটিকে একটি স্ট্রিং ফাংশন হিসেবে কল করতে পারি।

আউটপুট

এটি কনসোলে নিচের আউটপুট দেবে −

jkdsttdsre

  1. জাভাস্ক্রিপ্টে স্ট্রিংয়ের ওজন (Weight) গণনা করা

  2. জাভাস্ক্রিপ্টে স্ট্রিংয়ে নির্দিষ্ট অক্ষরের পরের অক্ষর বের করা

  3. জাভাস্ক্রিপ্টে স্ট্রিংয়ে একটি ক্যারেক্টারের সর্বোচ্চ কনsekutিভ আবির্ভাব গণনা

  4. C++ STL-এ basic_string::c_str() ফাংশন