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

পাইথনে স্ট্রিং-এ সাবস্ট্রিং-এর nth অকুরেন্স খুঁজে বের করা

আপনি স্ট্রিং-এ সাবস্ট্রিং-এর nth অকুরেন্স max n+1 স্প্লিট দিয়ে সাবস্ট্রিং-এ স্প্লিট করে খুঁজে পেতে পারেন। যদি রেজাল্টিং লিস্টের সাইজ 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 ০ থেকে শুরু হয়। সেটা পরিবর্তন করা খুব সহজ।

  1. পাইথনে অপরিবর্তনশীল স্ট্রিং-এর আইডি পরিবর্তন করা

  2. পাইথনে স্ট্রিং-এ সাবস্ট্রিং-এর শেষ~Occurrence-এর ইনডেক্স বের করা

  3. পাইথনে স্ট্রিং-এর দৈর্ঘ্য পাওয়া

  4. পাইথনে সাবস্ট্রিং অন্য স্ট্রিং-এ কন্টেইন করা হয় কিনা যাচাই করা