Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript - किसी अक्षर की kवीं उपस्थिति को बदलने वाला स्ट्रिंग फ़ंक्शन लिखना


मान लीजिए, हमें एक String.prototype फ़ंक्शन लिखना है जो तीन आर्गुमेंट लेता है।

  • पहला आर्गुमेंट वह स्ट्रिंग है जिसमें उपस्ट्रिंग खोजी जानी चाहिए
  • दूसरा आर्गुमेंट वह स्ट्रिंग है, जिसकी घटना को स्ट्रिंग से हटाया जाना है
  • तीसरा आर्गुमेंट एक संख्या है, मान लीजिए n, उपस्ट्रिंग की nवीं घटना जिसे स्ट्रिंग से हटाया जाना है।

यदि स्ट्रिंग से उपस्ट्रिंग को हटाना सफल रहा तो फ़ंक्शन को नई स्ट्रिंग लौटानी चाहिए, अन्यथा सभी मामलों में -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));

यह फ़ंक्शन सबसे पहले जाँचता है: यदि उपस्ट्रिंग की एक भी घटना नहीं है तो हमें बाहर निकलकर -1 लौटाना चाहिए।

फिर यह स्लाइडिंग विंडो एल्गोरिथम का उपयोग करके स्ट्रिंग में उपस्ट्रिंग की घटनाओं की संख्या रिकॉर्ड करता है (विंडो का आकार उपस्ट्रिंग की लंबाई के बराबर होता है)।

प्रारंभ में, हम सबसे बाएँ विंडो से शुरू करते हैं फिर हम अपनी विंडो को तब तक स्लाइड करते रहते हैं जब तक विंडो का अंत मूल स्ट्रिंग के अंत तक नहीं पहुँच जाता। यदि हमारे रास्ते में, घटनाओं की गिनती आवश्यक घटना के बराबर होती है, तो हम उस घटना को स्ट्रिंग से काट देते हैं और इस प्रकार प्राप्त नई स्ट्रिंग लौटाते हैं।

यदि हम पूरी स्ट्रिंग पर पुनरावृति करते हैं, तो इसका मतलब है कि स्ट्रिंग में उपस्ट्रिंग की पर्याप्त घटनाएँ नहीं हैं और उस मामले में हमें -1 लौटाकर फ़ंक्शन से बाहर निकलना चाहिए।

अंत में, हम removeStr प्रॉपर्टी को String.prototype में जोड़ते हैं ताकि हम इसे स्ट्रिंग फ़ंक्शन के रूप में कॉल कर सकें।

आउटपुट

jkdsttdsre
  1. - जावास्क्रिप्ट में स्ट्रिंग में एक अक्षर के तुरंत बाद के अक्षर को ढूंढना

    समस्याहमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो अक्षरों की एक स्ट्रिंग str और एक अकेला अक्षर char लेता है। हमारा फ़ंक्शन एक नई स्ट्रिंग बनाएगा जिसमें str में char के प्रत्येक उदाहरण के तुरंत बाद मौजूद अक्षर हो (यदि कोई हो)।उदाहरणनिम्न कोड देखें:const str = this is a string; const letter = i; const f

  1. - जावास्क्रिप्ट में दूसरी स्ट्रिंग में एक कैरेक्टर की सबसे लंबी लगातार उपस्थिति ढूंढना

    समस्याहमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो पहली आर्गुमेंट के रूप में एक स्ट्रिंग और दूसरी आर्गुमेंट के रूप में एक अकेला कैरेक्टर लेता है। हमारा फ़ंक्शन स्ट्रिंग में उस कैरेक्टर की सबसे लंबी लगातार उपस्थिति को गिनकर लौटाएगा।उदाहरणनिम्न कोड देखें:const str = abcdaaadse; const char = a; const coun

  1. - C++ STL में basic_string c_str फंक्शन

    basic_string c_str फंक्शन एक वर्णों के एरे का पॉइंटर लौटाता जो नल वर्ण का उपयोग करके समाप्त होता है। यह एक इनबिल्ट विधि है जिसमें एक स्ट्रिंग का मान होता है जिसमें नल वर्ण समाप्ति होती है। C++ में c_str फंक्शन को परिभाषित करने का सिंटैक्स - const Char ptr* c_str() const फंक्शन के बारे में यह C++ ST