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

पायथन Startswith और Endswith: चरण-दर-चरण गाइड

पायथन startswith() फंक्शन जांचता है कि कोई स्ट्रिंग निर्दिष्ट सबस्ट्रिंग से शुरू होती है या नहीं। पायथन endswith() जांचता है कि कोई स्ट्रिंग सबस्ट्रिंग से समाप्त होती है या नहीं। दोनों फंक्शन्स True या False लौटाते हैं।


प्रोग्रामिंग करते समय स्ट्रिंग्स के साथ काम करते समय, आप अक्सर जांचना चाह सकते हैं कि कोई स्ट्रिंग किसी विशेष मान से शुरू या समाप्त होती है या नहीं।

उदाहरण के लिए, यदि आप ऐसा प्रोग्राम बना रहे हैं जो उपयोगकर्ता का फोन नंबर एकत्र करता है, तो आप जांचना चाह सकते हैं कि उपयोगकर्ता ने अपना कंट्री कोड निर्दिष्ट किया है या नहीं। या शायद आप ऐसा प्रोग्राम बना रहे हैं जो जांचता है कि उपयोगकर्ता का नाम e से समाप्त होता है या नहीं, आपके आर्केड द्वारा चलाए जा रहे एक विशेष प्रचार के लिए।

यहीं पर बिल्ट-इन फंक्शन्स startswith() और endswith() काम आते हैं। startswith() और endswith() का उपयोग यह निर्धारित करने के लिए किया जा सकता है कि कोई स्ट्रिंग किसी विशिष्ट सबस्ट्रिंग से शुरू या समाप्त होती है या नहीं।

यह ट्यूटोरियल चर्चा करेगा कि पायथन startswith() और endswith() मेथड्स का उपयोग कैसे करें ताकि यह जांचा जा सके कि कोई स्ट्रिंग किसी विशेष सबस्ट्रिंग से शुरू या समाप्त होती है या नहीं। हम इनमें से प्रत्येक मेथड के प्रोग्राम में उपयोग किए जाने के उदाहरण के माध्यम से भी काम करेंगे।

स्ट्रिंग इंडेक्स रीफ्रेशर

startsWith और endsWith के बारे में बात करने से पहले, हमें पायथन स्ट्रिंग इंडेक्स पर अपने ज्ञान को ताज़ा करने के लिए कुछ समय लेना चाहिए।

एक स्ट्रिंग संख्याओं, स्पेसेस, अक्षरों, और प्रतीकों जैसे वर्णों का एक क्रम है। आप स्ट्रिंग्स के विभिन्न हिस्सों को उसी तरह एक्सेस कर सकते हैं जैसे आप सूचियों के साथ कर सकते हैं।

स्ट्रिंग में प्रत्येक वर्ण का एक इंडेक्स मान होता है। इंडेक्स वह स्थान है जहां वर्ण स्ट्रिंग में है। इंडेक्स नंबर 0 से शुरू होते हैं। उदाहरण के लिए, यहाँ इंडेक्स नंबर्स के साथ स्ट्रिंग Python Substrings है:

Python Substrings
012345678910111213141516

स्ट्रिंग में पहला वर्ण P है जिसका इंडेक्स मान 0 है। हमारा अंतिम वर्ण, s, का इंडेक्स मान 16 है। क्योंकि प्रत्येक वर्ण का अपना इंडेक्स नंबर होता है, हम इस आधार पर स्ट्रिंग्स को मैनिपुलेट कर सकते हैं कि प्रत्येक अक्षर कहाँ स्थित है।

पायथन Startswith

startswith() स्ट्रिंग मेथड जांचता है कि कोई स्ट्रिंग किसी विशेष सबस्ट्रिंग से शुरू होती है या नहीं। यदि स्ट्रिंग निर्दिष्ट सबस्ट्रिंग से शुरू होती है, तो startswith() मेथड True लौटाता है; अन्यथा, फंक्शन False लौटाता है।

पायथन startswith() मेथड का सिंटैक्स यहाँ दिया गया है:

string_name.startswith(substring, start_pos, end_pos)

startswith() मेथड तीन पैरामीटर्स लेता है, जो निम्नलिखित हैं:

  • substring वह स्ट्रिंग है जिसे बड़े स्ट्रिंग के भीतर जांचा जाना है (आवश्यक)
  • start_pos वह प्रारंभिक इंडेक्स पोजीशन है जिस पर सबस्ट्रिंग की खोज शुरू होनी चाहिए (वैकल्पिक)
  • end_pos वह इंडेक्स पोजीशन है जिस पर सबस्ट्रिंग की खोज समाप्त होनी चाहिए (वैकल्पिक)

सबस्ट्रिंग पैरामीटर केस सेंसिटिव है। इसलिए, यदि आप किसी स्ट्रिंग में s ढूंढ रहे हैं, तो यह केवल लोअरकेस s के उदाहरणों को ढूंढेगा। यदि आप अपरकेस S ढूंढना चाहते हैं, तो आपको उस वर्ण को निर्दिष्ट करना होगा। इसके अलावा, याद रखें कि पायथन में इंडेक्स पोजीशन 0 से शुरू होती हैं, जो start_pos और end_pos पैरामीटर्स को प्रभावित करेगी।

आइए startswith() मेथड को क्रिया में दिखाने के लिए एक उदाहरण के माध्यम से चलते हैं।

मान लीजिए हम एक आर्केड ऑपरेटर हैं और हम एक विशेष प्रचार चला रहे हैं। प्रत्येक ग्राहक जिसका नाम J से शुरू होता है, वह हर 1000 टिकट जीतने पर 200 अतिरिक्त टिकटों का हकदार है। इन टिकटों को भुनाने के लिए, ग्राहक को डेस्क पर अपना आर्केड कार्ड स्कैन करना होगा, जो उनके नाम के पहले अक्षर की जांच करने के लिए एक प्रोग्राम चलाता है।

यहाँ वह कोड है जिसका उपयोग हम जांचने के लिए कर सकते हैं कि ग्राहक के नाम का पहला अक्षर J के बराबर है या नहीं:

customer_name = "John Milton"
print(customer_name.startswith("J"))

हमारा कोड लौटाता है: True। हमारे कोड की पहली लाइन पर, हम customer_name नामक एक वेरिएबल परिभाषित करते हैं जो हमारे ग्राहक का नाम स्टोर करता है। फिर, हम startswith() का उपयोग करके जांचते हैं कि customer_name वेरिएबल J से शुरू होता है या नहीं। इस मामले में, हमारे ग्राहक का नाम J से शुरू होता है, इसलिए हमारा प्रोग्राम True लौटाता है।

यदि आप start_pos या end_pos आर्ग्यूमेंट्स निर्दिष्ट नहीं करते हैं, तो startswith() केवल उस सबस्ट्रिंग को खोजेगा जिसे आपने स्ट्रिंग की शुरुआत में निर्दिष्ट किया है।

अब, मान लीजिए हम अपना प्रचार बदल रहे हैं और केवल वे लोग जिनके नाम में उनके पूरे नाम के दूसरे और पांचवें अक्षरों के बीच एक s है। हम जांच सकते हैं कि क्या किसी ग्राहक के पूरे नाम में दूसरे और पांचवें अक्षरों के बीच एक s है, इस कोड का उपयोग करके:

customer_name = "John Milton"
print(customer_name.startswith("s", 1, 5))

हमारा कोड लौटाता है: False। हमारे कोड में, हमने दोनों start_pos और end_pos पैरामीटर्स निर्दिष्ट किए हैं, जो क्रमशः 1 और 5 पर सेट हैं। यह startswith() को केवल हमारे स्ट्रिंग में दूसरे और पांचवें वर्णों के बीच (इंडेक्स मान 1 और 5 के बीच के वर्णों) अक्षर s की खोज करने के लिए कहता है।

पायथन Endswith

endswith() स्ट्रिंग फॉर्मेटिंग मेथड का उपयोग यह जांचने के लिए किया जा सकता है कि कोई स्ट्रिंग किसी विशेष मान से समाप्त होती है या नहीं। endswith() startswith() मेथड के समान ही काम करता है, लेकिन स्ट्रिंग की शुरुआत में सबस्ट्रिंग खोजने के बजाय, यह अंत में खोजता है।

endswith() मेथड का सिंटैक्स यहाँ दिया गया है:

string_name.endswith(substring, start_pos, end_pos)

इन पैरामीटर्स की परिभाषाएं startswith() मेथड के साथ उपयोग की गई परिभाषाओं के समान हैं।

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

यहाँ endswith() का उपयोग करके एक उदाहरण है जो जांचता है कि ग्राहक द्वारा दिए गए चार अंक फ़ाइल पर मौजूद अंकों से मेल खाते हैं या नहीं:

on_file_credit_card = '4242 4242 4242 4242'
matches = on_file_credit_card.endswith('4242')
print(matches)

हमारा प्रोग्राम लौटाता है: True। इस मामले में, हमारे ग्राहक ने हमें अंक 4242 दिए। हमने endswith() मेथड का उपयोग यह सत्यापित करने के लिए किया कि वे अंक हमारे पास फ़ाइल पर मौजूद अंकों से मेल खाते हैं या नहीं। इस मामले में, फ़ाइल पर मौजूद क्रेडिट कार्ड 4242 से समाप्त होता है, इसलिए हमारा प्रोग्राम True लौटाता है।

हम वैकल्पिक start_pos और end_pos आर्ग्यूमेंट्स का उपयोग किसी निश्चित इंडेक्स पोजीशन पर सबस्ट्रिंग खोजने के लिए भी कर सकते हैं।

मान लीजिए हम एक कैफे संचालित कर रहे हैं और हमारे पास एक स्ट्रिंग है जो वह सब कुछ स्टोर करती है जो ग्राहक ने ऑर्डर किया है। हमारे शेफ को यह जानना है कि क्या ऑर्डर में Ham Sandwich है, और वह जानता है कि हमारे स्ट्रिंग की लंबाई 24 है। हमारे स्ट्रिंग के अंतिम पांच वर्ण ORDER हैं। इसलिए, हम अपने स्ट्रिंग में पहले पांच वर्णों को छोड़ना चाहते हैं।

हम निम्न कोड का उपयोग करके यह खोज कर सकते हैं:

order = "ORDER Latte Ham Sandwich"
includes_ham_sandwich = order.endswith("Ham Sandwich", 0, 19)
print(includes_ham_sandwich)

हमारा कोड लौटाता है: True।

हमारे उदाहरण में, हम Ham Sandwich को अपने सबस्ट्रिंग पैरामीटर के रूप में निर्दिष्ट करते हैं।

फिर, हम 0 को start_pos पैरामीटर के रूप में निर्दिष्ट करते हैं क्योंकि हम end_pos पैरामीटर का उपयोग करने जा रहे हैं और जब हम end_pos का उपयोग करते हैं तो start_pos खाली नहीं हो सकता। हम 19 को अपने end_pos आर्ग्यूमेंट के रूप में निर्दिष्ट करते हैं क्योंकि हमारे स्ट्रिंग के अंतिम पांच वर्ण ORDER हैं, और उससे पहले का वर्ण एक व्हाइटस्पेस है।

हमारा स्ट्रिंग Ham Sandwich से समाप्त होता है, इसलिए हमारा प्रोग्राम True लौटाता है। यदि हमारा स्ट्रिंग Ham Sandwich से समाप्त नहीं होता, तो सफ़िक्स अन्यथा False लौटाता।

लिस्ट्स के साथ पायथन Endswith

इसके अलावा, endswith() substring आर्ग्यूमेंट के रूप में एक लिस्ट या टपल ले सकता है, जो आपको यह जांचने की अनुमति देता है कि कोई स्ट्रिंग कई स्ट्रिंग्स में से किसी एक से समाप्त होती है या नहीं। मान लीजिए हम एक प्रोग्राम बना रहे हैं जो जांचता है कि फ़ाइल नाम .mp3 या .mp4 में समाप्त होता है या नहीं। हम निम्न कोड का उपयोग करके यह जांच कर सकते हैं:

potential_extensions = ['.mp3', '.mp4']
file_name = 'music.mp3'
print(file_name.endswith(potential_extensions))

हमारा कोड लौटाता है: True। इस उदाहरण में, हमने potential_extensions नामक एक ऐरे बनाया है जो फ़ाइल एक्सटेंशन्स की सूची स्टोर करता है। फिर, हमने file_name नामक एक वेरिएबल घोषित किया जो उस फ़ाइल का नाम स्टोर करता है जिसका एक्सटेंशन हम जांचना चाहते हैं।

अंत में, हम endswith() मेथड का उपयोग यह जांचने के लिए करते हैं कि हमारा स्ट्रिंग हमारी potential_extensions सूची में किसी एक्सटेंशन से समाप्त होता है या नहीं। इस मामले में, हमारा फ़ाइल नाम .mp3 में समाप्त होता है, जो हमारी potential_extensions सूची में सूचीबद्ध है, इसलिए हमारा प्रोग्राम True लौटाता है।

निष्कर्ष

startswith() और endswith() मेथड्स का उपयोग यह जांचने के लिए किया जा सकता है कि कोई पायथन स्ट्रिंग किसी विशेष सबस्ट्रिंग से शुरू या समाप्त होती है या नहीं। प्रत्येक मेथड में वैकल्पिक पैरामीटर्स शामिल हैं जो आपको यह निर्दिष्ट करने की अनुमति देते हैं कि स्ट्रिंग के भीतर खोज कहाँ शुरू और समाप्त होनी चाहिए।

इस ट्यूटोरियल में चर्चा की गई कि startswith() और endswith() मेथड्स दोनों का उपयोग कैसे करें, और प्रत्येक मेथड के क्रिया में कुछ उदाहरणों का पता लगाया गया। अब आप startswith() और endswith() मेथड्स का उपयोग करके एक विशेषज्ञ की तरह जांच करने के लिए तैयार हैं कि स्ट्रिंग्स किसी सबस्ट्रिंग से शुरू या समाप्त होती हैं या नहीं।

  1. पायथन इंटरप्रेटर्स: एक चरण-दर-चरण गाइड पायथन इंटरप्रेटर्स: एक चरण-दर-चरण गाइड

    पायथन प्रोग्राम कैसे एक्जीक्यूट होता है? पायथन, जावा की तरह, पूरी तरह से इंटरप्रेटेड भाषा के रूप में वर्गीकृत नहीं किया जा सकता और न ही कंपाइल्ड भाषा के रूप में। यह दोनों का थोड़ा सा है। कंपाइल्ड होने का मतलब इस उदाहरण में है किसी प्लेटफॉर्म पर निर्भर न करने वाली निचले स्तर की भाषा में अनुवादित होन

  1. - पायथन में स्ट्रिंग endswith() मेथड

    इस ट्यूटोरियल में, हम स्ट्रिंग के endswith() मेथड के बारे में जानेंगे।endswith() मेथड True लौटाएगा यदि स्ट्रिंग दी गई सबस्ट्रिंग से समाप्त होती है अन्यथा यह False लौटाएगा। यह एक आवश्यक तर्क और दो वैकल्पिक तर्क लेता है।आवश्यक तर्क एक स्ट्रिंग है जिसे जांचने की आवश्यकता है और वैकल्पिक तर्क हैं start औ

  1. - पायथन startswith() और endswith() फंक्शन

    समस्या विवरण पायथन में स्ट्रिंग क्लास में startswith(string) मेथड होता है। यह मेथड एक प्रीफिक्स स्ट्रिंग स्वीकार करता है जिसे आप खोजना चाहते हैं और एक स्ट्रिंग ऑब्जेक्ट पर कॉल किया जाता है। आप इस मेथड को निम्न तरीके से कॉल कर सकते हैं: hello world.startswith(nope) False इसी तरह, एक endswith मेथड ह