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

जावास्क्रिप्ट - किसी वर्ण के kth स्वरूप को बदलने के लिए एक स्ट्रिंग फ़ंक्शन लिखना

<घंटा/>

मान लीजिए, हमें एक स्ट्रिंग.प्रोटोटाइप फ़ंक्शन लिखना है जो तीन तर्कों में लेता है।

  • पहला तर्क स्ट्रिंग है जिसे सबस्ट्रिंग के लिए खोजा जाना चाहिए
  • दूसरा तर्क वह स्ट्रिंग है, जिसके घटित होने से स्ट्रिंग को हटाया जाना है
  • तीसरा तर्क एक संख्या है जैसे 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

वापस आना चाहिए

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

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

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

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

आउटपुट

यह कंसोल में निम्न आउटपुट उत्पन्न करेगा -

jkdsttdsre

  1. जावास्क्रिप्ट का उपयोग करके स्ट्रिंग में एक अक्षर के तत्काल अगले वर्ण को ढूँढना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो वर्णों की एक स्ट्रिंग, स्ट्र और एक एकल वर्ण, चार लेता है। हमारे फ़ंक्शन को एक नई स्ट्रिंग का निर्माण करना चाहिए जिसमें चार के प्रत्येक उदाहरण (यदि कोई हो) के बाद str में मौजूद तत्काल अगला वर्ण शामिल हो। उदाहरण निम्नलिखित कोड है - const

  1. जावास्क्रिप्ट का उपयोग करके किसी अन्य स्ट्रिंग में किसी वर्ण की लगातार सबसे लंबी उपस्थिति ढूँढना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो पहले तर्क के रूप में एक स्ट्रिंग और दूसरे तर्क के रूप में एक एकल वर्ण लेता है। हमारे फ़ंक्शन को स्ट्रिंग में वर्ण की सबसे लंबी लगातार उपस्थिति को गिनना और वापस करना चाहिए। उदाहरण निम्नलिखित कोड है - const str = 'abcdaaadse'; con

  1. सी ++ एसटीएल में मूल_स्ट्रिंग c_str फ़ंक्शन?

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