Python सबस्ट्रिंग एक स्ट्रिंग से लिया गया टेक्स्ट का एक हिस्सा है। आप स्लाइसिंग का उपयोग करके Python में सबस्ट्रिंग निकाल सकते हैं, जिसका प्रारूप है: YourString[StartingIndex:StoppingIndex:CharactersToSkip]।
अक्सर, प्रोग्रामर्स के पास डेटा होता है जिसे वे विभिन्न भागों में विभाजित करना चाहते हैं। उदाहरण के लिए, एक डेवलपर के पास किसी उपयोगकर्ता का पूरा नाम हो सकता है, और उसे केवल उसका पहला नाम चाहिए। इस मामले में, डेवलपर नाम को दो भागों में विभाजित करना चाहेगा: पहला नाम और उपनाम।
Python प्रोग्रामिंग भाषा में आप इसे कैसे पूरा करते हैं? यहीं पर स्ट्रिंग स्लाइसिंग काम आती है। स्लाइसिंग नामक एक तकनीक का उपयोग करके, हम एक स्ट्रिंग का एक विशिष्ट भाग प्राप्त कर सकते हैं, जो तब सबस्ट्रिंग बन जाता है। इस ट्यूटोरियल में, हम यह बताने जा रहे हैं कि Python में सबस्ट्रिंग्स कैसे काम करती हैं, और कैसे आप अपनी खुद की सबस्ट्रिंग्स बनाने के लिए स्लाइसिंग का उपयोग कर सकते हैं।
स्ट्रिंग इंडेक्स: एक पुनर्कथन
इससे पहले कि हम स्लाइसिंग और स्लाइस सिंटैक्स पर चर्चा करें, हमें पहले यह देखना होगा कि Python स्ट्रिंग्स कैसे अनुक्रमित होती हैं।
Python में, एक स्ट्रिंग एक या अधिक वर्णों का अनुक्रम होती है जिसमें संख्याएं, स्पेस, अक्षर, या प्रतीक शामिल हो सकते हैं। आप एक स्ट्रिंग के भागों को उसी तरह एक्सेस कर सकते हैं जैसे आप अन्य अनुक्रमों के साथ करते हैं, जैसे सूची।
स्ट्रिंग में प्रत्येक वर्ण का अपना इंडेक्स मान होता है, जो स्ट्रिंग में वर्ण के स्थान को दर्शाता है। ये संख्याएं इंडेक्स नंबर 0 से शुरू होती हैं। उदाहरण के लिए, यहां बताया गया है कि स्ट्रिंग Python Substrings को कैसे दर्शाया जाएगा:
| P | y | t | h | o | n | S | u | b | s | t | r | i | n | g | ! | |
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
हमारी स्ट्रिंग में पहला वर्ण (P), का इंडेक्स मान 0 है। ! वर्ण का इंडेक्स मान 16 है।
क्योंकि प्रत्येक वर्ण का अपना इंडेक्स नंबर होता है, हम अपनी स्ट्रिंग्स में व्यक्तिगत वर्णों को पढ़ और बदल सकते हैं।
Python String Substring
मान लीजिए हम एक स्ट्रिंग से पहले तीन वर्ण प्राप्त करना चाहते हैं - हम इसे कैसे करते हैं? या क्या होगा यदि हम स्ट्रिंग में अंतिम दो वर्ण प्राप्त करना चाहते हैं?
हम एक स्ट्रिंग से डेटा के विशेष टुकड़ों को प्राप्त करने के लिए स्लाइसिंग नामक तकनीक का उपयोग कर सकते हैं। यह वह जगह है जहां हम वर्णों के अनुक्रम को निर्दिष्ट करते हैं जिसे हम एक निश्चित स्ट्रिंग से प्राप्त करना चाहते हैं। हम किसी स्ट्रिंग से कोई भी डेटा प्राप्त करने के लिए स्लाइस का उपयोग कर सकते हैं। हम जिस सिंटैक्स का उपयोग करते हैं वह है:
string[start:end:step]
स्लाइस के तीन घटक हैं:
- start: वह इंडेक्स स्थिति जहां से हमारा स्लाइस शुरू होना चाहिए। यह डिफ़ॉल्ट रूप से 0 है।
- end: वह स्थिति जहां स्लाइस समाप्त होता है। अंतिम स्थिति पर वर्ण स्लाइस में शामिल नहीं होता है। डिफ़ॉल्ट रूप से, end स्ट्रिंग की लंबाई है।
- step: स्लाइस को हर Nवें वर्ण को अनदेखा करने का निर्देश देता है। N आपके द्वारा निर्दिष्ट step के बराबर है। step डिफ़ॉल्ट रूप से 1 के बराबर है।
Substring Python: उदाहरण
पहले तीन वर्ण प्राप्त करें
हम स्लाइसिंग सिंटैक्स का उपयोग करके एक स्ट्रिंग से पहले तीन वर्ण प्राप्त करने जा रहे हैं:
ourString = "Python Substring!" print(ourString[0:3])
हमारे कोड का आउटपुट है:
Pyt
शुरुआती नंबर को छोड़ दें
हम टेक्स्ट में एक निश्चित मान तक सभी वर्ण प्राप्त करने के लिए पहली संख्या को भी छोड़ सकते हैं। यह सुविधाजनक है यदि हमें जिस टेक्स्ट की आवश्यकता है वह स्ट्रिंग की शुरुआत में है।
हम पहली तीन वर्ण प्राप्त करने के लिए इस तकनीक का उपयोग कर सकते हैं बिना 0 को अपने प्रारंभ नंबर के रूप में निर्दिष्ट किए:
ourString = "Python Substring!" print(ourString[:3])
हमारा कोड हमारे पहले उदाहरण के समान आउटपुट लौटाता है। हमने प्रारंभ मान निर्दिष्ट नहीं किया है। ऐसा इसलिए है क्योंकि start डिफ़ॉल्ट रूप से 0 है। हम अपनी स्ट्रिंग की शुरुआत से वर्ण प्राप्त करना चाहते हैं इसलिए यह सिंटैक्स काम करता है।
अंतिम दो वर्ण प्राप्त करें
हम एक नकारात्मक इंडेक्स मान और एक प्रारंभ संख्या का उपयोग करके स्ट्रिंग के अंतिम पांच वर्ण प्राप्त कर सकते हैं:
value = "Python" print(value[-2:])
हमारा कोड लौटाता है: on। हमने केवल एक मान निर्दिष्ट किया है: -2। यह हमारी प्रारंभ संख्या है। -2 हमारे स्लाइस को हमारी स्ट्रिंग में अंतिम से दूसरी इंडेक्स स्थिति से वर्ण प्राप्त करना शुरू करने के लिए कहता है।
अन्य उदाहरण
स्लाइसिंग मेथड का उपयोग करना सीखने में आपकी सहायता के लिए हमने कुछ अन्य उदाहरण तैयार किए हैं।
स्ट्रिंग में अंतिम वर्ण प्राप्त करें
value = "Python" print(value[-1]) Output: n
हमने इस उदाहरण में केवल एक प्रारंभ मान निर्दिष्ट किया है। कोई अंत मान नहीं है। इसका मतलब है कि हमारी स्ट्रिंग केवल अंतिम वर्ण प्राप्त करेगी।
2 और 3 की सीमा में वर्ण प्राप्त करें
value = "Python" print(value[2:3]) Output: t
हमारा प्रारंभ मान 2 है और हमारा अंत मान 3 है। 2 और 3 की सीमा में सभी वर्ण लौटाए जाते हैं। यह वर्ण 3 को स्वयं बाहर करता है, क्योंकि अंत मान अनन्य (exclusive) है।
हर दूसरे वर्ण को छोड़ें
value = "Python" print(value[::2]) Output: Pto
हमने Python को बताने के लिए दो कॉलन का उपयोग किया है कि हम डिफ़ॉल्ट प्रारंभ और अंत पैरामीटर का उपयोग करना चाहते हैं। हमने अपने step के रूप में 2 निर्दिष्ट किया है। इसका मतलब है कि हमारा स्लाइस हमारी स्ट्रिंग से हर दूसरा वर्ण प्राप्त करेगा।
निष्कर्ष
सबस्ट्रिंग एक बड़ी स्ट्रिंग का हिस्सा है। सबस्ट्रिंग प्राप्त करने के लिए, आप स्लाइसिंग सिंटैक्स का उपयोग कर सकते हैं। स्लाइसिंग आपको पुनर्प्राप्त करने के लिए वर्णों की एक श्रृंखला को परिभाषित करने देती है। आप एक वैकल्पिक तीसरे पैरामीटर का उपयोग करके एक श्रृंखला में विशेष वर्णों को छोड़ सकते हैं।
हमारे Python सीखें गाइड में Python भाषा के बारे में अधिक जानें।