पायथन स्ट्रिंग से वर्ण हटाएं: एक गाइड
आप replace() या translate() का उपयोग करके पायथन स्ट्रिंग से वर्ण हटा सकते हैं। ये दोनों विधियां किसी वर्ण या स्ट्रिंग को दिए गए मान से बदल देती हैं। यदि खाली स्ट्रिंग निर्दिष्ट की जाती है, तो आपके द्वारा चुने गए वर्ण या स्ट्रिंग को प्रतिस्थापन के बिना स्ट्रिंग से हटा दिया जाता है।
पायथन स्ट्रिंग से वर्ण हटाएं
हर स्ट्रिंग उन मानों को नहीं रखती जो हम चाहते हैं। उपयोगकर्ता किसी इनपुट फ़ील्ड में एक प्रतीक डाल सकता है जिसे आप प्रकट नहीं करना चाहते। आप किसी स्ट्रिंग से किसी विशेष अक्षर के सभी उदाहरणों को हटाना चाह सकते हैं।
इससे कोई फर्क नहीं पड़ता कि आप स्ट्रिंग से कौन सा वर्ण हटाना चाहते हैं। पायथन ने आपको कवर किया है!
इस गाइड में, हम चर्चा करेंगे कि स्ट्रिंग से वर्ण या वर्णों के सेट को कैसे हटाया जाए। हम रास्ते में कुछ उदाहरणों का संदर्भ लेंगे।
हम निम्न दृष्टिकोणों पर चर्चा करेंगे:
- replace() विधि का उपयोग करना
- translate() विधि का उपयोग करना
- इंडेक्सिंग का उपयोग करके अंतिम वर्ण हटाना
चलिए शुरू करते हैं!
स्ट्रिंग से वर्ण हटाएं पायथन: replace()
स्ट्रिंग replace() फ़ंक्शन किसी वर्ण को नए वर्ण से बदल देता है। इस फ़ंक्शन का उपयोग किसी वर्ण को खाली स्ट्रिंग से बदलने के लिए किया जा सकता है।
हम एक प्रोग्राम बना रहे हैं जो उपयोगकर्ता से उपयोगकर्ता नाम डालने के लिए कहता है। अंडरस्कोर (_) वर्ण उपयोगकर्ता नाम में अनुमत नहीं हैं। एक नई पायथन फ़ाइल खोलें और निम्न कोड पेस्ट करें:
username = input("Choose a username: ")
final_username = username.replace("_", "")
print("Your username is: " + final_username)
यह कोड input() विधि का उपयोग करके उपयोगकर्ता से उपयोगकर्ता नाम चुनने के लिए कहता है।
replace() विधि मूल स्ट्रिंग से अंडरस्कोर वर्ण को हटा देती है और उस वर्ण के सभी उदाहरणों को खाली स्ट्रिंग से बदल देती है। फिर, हम अंडरस्कोर के बिना उपयोगकर्ता नाम को कंसोल पर प्रिंट करते हैं।
आइए अपना प्रोग्राम चलाएं:
Choose a username: pythonista_101 Your username is: pythonista101
हमारे कोड ने हमारे द्वारा निर्दिष्ट उपयोगकर्ता नाम से अंडरस्कोर वर्ण को हटा दिया है। हमारा कोड उन स्ट्रिंग्स पर काम करता है जिनमें अंडरस्कोर नहीं है:
Choose a username: pythonista101 Your username is: pythonista101
जब उपयोगकर्ता नाम में अंडरस्कोर शामिल नहीं होता, तो कुछ नहीं होता।
replace() का उपयोग करके एकाधिक वर्ण हटाएं
क्या होगा यदि आप स्ट्रिंग से एकाधिक वर्ण हटाना चाहते हैं? पायथन आपकी मदद कर सकता है। हम replace() विधि का उपयोग फॉर लूप के अंदर करके स्ट्रिंग से एकाधिक वर्ण हटा सकते हैं।
हमारे पिछले उदाहरण में, हमने उपयोगकर्ता नाम से अंडरस्कोर वर्ण हटा दिया। क्या होगा यदि हम अपनी स्ट्रिंग से सभी पीरियड्स (फुल स्टॉप्स), अंडरस्कोर, और विस्मयादिबोधक चिह्नों को हटाना चाहते हैं? एक नई पायथन फ़ाइल बनाएं और यह कोड पेस्ट करें:
username = input("Choose a username: ")
disallowed_characters = "._!"
for character in disallowed_characters:
username = username.replace(character, "")
print("Your username is: " + username)
सबसे पहले, हमने उपयोगकर्ता से उपयोगकर्ता नाम चुनने के लिए कहा। फिर हमने एक स्ट्रिंग परिभाषित की जिसमें वे सभी वर्ण हैं जो उपयोगकर्ता के उपयोगकर्ता नाम में प्रकट नहीं होने चाहिए।
अगला, हमने एक फॉर लूप बनाया। यह फॉर लूप "disallowed_characters" स्ट्रिंग में प्रत्येक वर्ण के माध्यम से पुनरावृति करता है। प्रत्येक पुनरावृत्ति में, फॉर लूप जिस वर्ण पर पुनरावृति कर रहा है, उसे "username" स्ट्रिंग में खाली वर्ण से बदल दिया जाएगा।
आइए अपना कोड चलाएं:
Choose a username: pythonista.101!!! Your username is: pythonista101
हमारे कोड ने पीरियड और विस्मयादिबोधक चिह्नों को फ़िल्टर कर दिया है।
स्ट्रिंग से वर्ण हटाएं पायथन: translate()
पायथन translate() विधि वर्ण तालिका की सामग्री के अनुसार स्ट्रिंग में वर्णों को बदल देती है। यह विधि एक तर्क स्वीकार करती है: मैप करने के लिए वर्णों के साथ अनुवाद तालिका।
इस विधि का उपयोग करने के लिए, हमें एक अनुवाद तालिका बनाने की आवश्यकता है। यह तालिका निर्दिष्ट करती है कि स्ट्रिंग में किन वर्णों को बदला जाना चाहिए।
आइए translate() विधि का उपयोग उपयोगकर्ता नाम से सभी अंडरस्कोर हटाने के लिए करें:
username = input("Choose a username: ")
final_username = username.translate({ ord("_"): None })
print("Your username is: " + final_username)
यह कोड "_" वर्ण के हर उदाहरण को None मान से बदल देता है। पायथन ord() विधि "_" वर्ण से जुड़े यूनिकोड कोड को लौटाती है। इसका उपयोग translate() विधि द्वारा उस वर्ण की पहचान करने के लिए किया जाता है जिसे हम हटाना चाहते हैं।
translate() का उपयोग करके एकाधिक वर्ण हटाएं
आप translate() का उपयोग करके स्ट्रिंग से एकाधिक वर्ण हटा सकते हैं।
हम एक इटरेटर बनाकर ऐसा कर सकते हैं जो उस वर्णों की सूची के माध्यम से लूप करता है जिन्हें हम स्ट्रिंग से हटाना चाहते हैं।
आइए उपयोगकर्ता नाम से सभी अंडरस्कोर, पीरियड्स, और विस्मयादिबोधक चिह्न हटाएं:
username = input("Choose a username: ")
final_username = username.translate({ ord(c): None for c in "._!" })
print("Your username is: " + final_username)
translate() विधि जांचती है कि "username" स्ट्रिंग में प्रत्येक वर्ण या तो फुल स्टॉप, विस्मयादिबोधक बिंदु, या अंडरस्कोर के बराबर है या नहीं। यदि इनमें से कोई वर्ण मिलता है, तो इसे None से बदल दिया जाता है। यह वर्ण को स्ट्रिंग से हटा देता है।
हम अपने बहिष्कृत वर्णों की सूची में प्रत्येक वर्ण के माध्यम से पुनरावृति करने के लिए पायथन सूची समझ का उपयोग कर रहे हैं।
आइए अपना प्रोग्राम टेस्ट करें:
Choose a username: pythonista_100! Your username is: pythonista101
हमारे कोड ने सफलतापूर्वक हमारे द्वारा निर्दिष्ट सभी विशेष वर्णों को हमारी स्ट्रिंग से हटा दिया है।
पायथन: स्ट्रिंग से अंतिम वर्ण हटाएं
स्ट्रिंग से अंतिम वर्ण हटाने के लिए, [:-1] स्लाइस नोटेशन का उपयोग करें। यह नोटेशन इंडेक्स स्थिति -1 (सूची में अंतिम वर्ण) पर वर्ण का चयन करता है। फिर, सिंटैक्स उस को छोड़कर हर वर्ण लौटाता है।
स्ट्रिंग से अंतिम वर्ण हटाने के लिए सिंटैक्स है:
your_string = "A string" print(your_string[:-1])
अंतिम वर्ण हटाएं उदाहरण
हम एक प्रोग्राम बनाना चाहते हैं जो कर्मचारी पहचानकर्ता से अंतिम वर्ण हटा देता है। यह वर्ण हमें बताता है कि कर्मचारी किस विभाग के लिए काम करता है।
उदाहरण के लिए, मान "M" हमें बताता है कि कर्मचारी मार्केटिंग विभाग के लिए काम करता है। हम इस वर्ण को हटाने जा रहे हैं। कर्मचारियों को ट्रैक करने की यह प्रणाली एक नई प्रणाली द्वारा प्रतिस्थापित की जा रही है। नई प्रणाली ट्रैक करती है कि कर्मचारी किस विभाग के लिए काम करता है।
आइए input() विधि का उपयोग करके उपयोगकर्ता से कर्मचारी पहचानकर्ता डालने के लिए कहकर शुरू करते हैं:
identifier = input("What is the employee's identifier? ")
अगला, हम पहचानकर्ता से अंतिम वर्ण हटाते हैं:
new_identifier = identifier[:-1]
[::-1] एक स्ट्रिंग स्लाइस ऑपरेशन है जो स्ट्रिंग से अंतिम वर्ण को हटा देता है। हम स्ट्रिंग के अंत से आइटम प्राप्त करने के लिए नकारात्मक इंडेक्सिंग का उपयोग करते हैं। अब, कर्मचारी के नए पहचानकर्ता को कंसोल पर प्रदर्शित करें:
print("The employee's new identifier is {}.".format(new_identifier))
format() स्टेटमेंट हमारी स्ट्रिंग के अंदर कर्ली ब्रेसिज़ को कर्मचारी के नए पहचानकर्ता से बदल देता है। आइए अपना कोड चलाएं और देखें क्या होता है:
What is the employee's identifier? 28371M The employee's new identifier is 28371.
हमारा प्रोग्राम कर्मचारी के पहचानकर्ता में अंतिम मान को हटा देता है।
निष्कर्ष
आप replace() या translate() का उपयोग करके स्ट्रिंग से वर्ण या एकाधिक वर्ण हटा सकते हैं। replace() और translate() दोनों विधियां वही परिणाम लौटाती हैं: आपके द्वारा निर्दिष्ट वर्णों के बिना एक स्ट्रिंग।
शुरुआती लोगों के लिए, replace() विधि उपयोग करना आसान है। ऐसा इसलिए है क्योंकि यह केवल दो पैरामीटर स्वीकार करती है।
पहला पैरामीटर वह वर्ण है जिसे आप बदलना चाहते हैं। हमारा दूसरा पैरामीटर वह मान है जिससे आप वर्ण को बदलना चाहते हैं। यदि आप एकाधिक वर्णों को बदलना चाहते हैं, तो आप फॉर लूप का उपयोग कर सकते हैं।
क्या आप पायथन के बारे में अधिक सीखने में रुचि रखते हैं? अपनी सीखने की यात्रा को आगे बढ़ाने में मदद करने के लिए विशेषज्ञ युक्तियों के लिए हमारा संपूर्ण How to Learn Python गाइड देखें।