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

कैसे अजगर में एक स्ट्रिंग में सबस्ट्रिंग की nth घटना को खोजने के लिए?

आप अधिकतम n+1 विभाजन के साथ सबस्ट्रिंग पर विभाजित करके एक स्ट्रिंग में एक सबस्ट्रिंग की nth घटना पा सकते हैं। यदि परिणामी सूची का आकार n+1 से बड़ा है, तो इसका मतलब है कि सबस्ट्रिंग n बार से अधिक होता है। इसका सूचकांक एक साधारण सूत्र द्वारा पाया जा सकता है, मूल स्ट्रिंग की लंबाई - अंतिम विभाजित भाग की लंबाई - सबस्ट्रिंग की लंबाई।

उदाहरण

def findnth(string, substring, n):
    parts = string.split(substring, n + 1)
    if len(parts) <= n + 1:
        return -1
    return len(string) - len(parts[-1]) - len(substring)
findnth('foobarfobar akfjfoobar afskjdf foobar', 'foobar', 2)

आउटपुट

यह आउटपुट देगा:

31

इसमें n 0 से शुरू होता है। इसे बदलना काफी तुच्छ है।


  1. हम पायथन में एक अपरिवर्तनीय स्ट्रिंग की आईडी कैसे बदल सकते हैं?

    पायथन में स्ट्रिंग्स अपरिवर्तनीय हैं, जिसका अर्थ है कि एक बार एक स्ट्रिंग बन जाने के बाद, इसे बदला नहीं जा सकता है। जब आप एक स्ट्रिंग बनाते हैं, और यदि आप एक ही स्ट्रिंग बनाते हैं और इसे किसी अन्य चर के लिए असाइन करते हैं, तो वे दोनों एक ही स्ट्रिंग/मेमोरी की ओर इशारा करेंगे। उदाहरण के लिए, >>

  1. पायथन में एक स्ट्रिंग में एक सबस्ट्रिंग की अंतिम घटना की अनुक्रमणिका कैसे खोजें?

    पायथन में एक rfind () विधि है जो एक स्ट्रिंग के अंत से एक सबस्ट्रिंग की घटना के लिए खोज करती है। यदि पाया जाता है तो यह अंतिम घटना की अनुक्रमणिका देता है, अन्यथा -1। आप इसे इस प्रकार उपयोग कर सकते हैं: >>> 'some of the some'.rfind('some') 12 >>> 'some of the som

  1. कैसे जांचें कि पाइथन में किसी अन्य स्ट्रिंग में एक सबस्ट्रिंग निहित है या नहीं?

    एक स्ट्रिंग किसी अन्य स्ट्रिंग का सबस्ट्रिंग है या नहीं, यह जानने के लिए पायथन में एक कीवर्ड इन है। उदाहरण के लिए print('ello' in 'hello world')  आउटपुट True यदि आपको सबस्ट्रिंग की पहली अनुक्रमणिका की भी आवश्यकता है, तो आप अनुक्रमणिका को खोजने के लिए ढूंढें (सबस्ट्र) का उपयोग