payment by upi: sinhamit@icici or payment by bank account name: amit kumar sinha, account number: 2646728782 IFSC code: KKBK0005660 SWIFT: KKBKINBB

Please support if you like my work by payment through upi: sinhamit@icici or payment by bank

account name: Amit Kumar Sinha,
account number: 2646728782
IFSC code: KKBK0005660
SWIFT: KKBKINBB


removeprefix(), removesuffix(), split(), rsplit(), splitlines(), strip(), lstrip(), rstrip()   in Category: पाइथन   by amit

🕙 Posted on 2023-07-21 at 03:06:16


अधिक स्ट्रिंग विधियाँ

    print( dir( str ) ), print( dir( bytearray ) ), और print( dir( bytes ) ) को क्रियान्वित (निष्पादित execute) करके आप देख सकते हैं कि कई अन्य विधियों में से, निम्नलिखित विधियों के नाम, सिवाय encode() और decode() विधियों के, zfill() तक बिल्कुल समान हैं। विभिन्न डेटा-प्रकारों के लिए इनमें से कई समान विधियों की कार्यक्षमताएं समान हैं।

string:    'capitalize', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'index', 'isalnum', 'isalpha', 'isascii', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill', 'casefold',  'format', 'format_map', 'isdecimal', 'isidentifier', 'isnumeric', 'isprintable'
bytearray: 'capitalize', 'center', 'count', 'decode', 'endswith', 'expandtabs', 'find', 'index', 'isalnum', 'isalpha', 'isascii', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill', 'append', 'clear', 'copy', 'extend', 'fromhex', 'hex', 'insert', 'pop', 'remove', 'reverse'
bytes:     'capitalize', 'center', 'count', 'decode', 'endswith', 'expandtabs', 'find', 'index', 'isalnum', 'isalpha', 'isascii', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill', 'fromhex', 'hex'

    आप पिछले पृष्ठों में कई स्ट्रिंग विधियों (जो अन्य डेटा-प्रकारों के लिए भी हैं) के बारे में पहले ही सीख चुके हैं। आइए कुछ और स्ट्रिंग विधियाँ सीखें:

removeprefix(), removesuffix()

    आप print( help( str.removeprefix ) )   और print( help( str.removesuffix ) )   कथनों का निष्पादन द्वारा सहायता दस्तावेज़ प्राप्त कर सकते हैं। विवरण के लिए नीचे दी गई तालिका देखें।

    कभी-कभी, आपको उपयोगकर्ता (आम जनता) से कुछ विशिष्ट input करने के लिए पूछना पड़ता है, जैसे, (1) नोट जोड़ें (add note), (2) नोट संपादित करें (edit note), (3) नोट हटाएं (delete note), (4) नोट प्रदर्शित करें (display note), आदि जैसा कि (उदाहरण के लिए) सरल सीएलआई ऐप में, हम बाद में बनाएंगे। ऐसी स्थितियों में, आप या तो उपयोगकर्ता (user) को कमांड लिखते समय या नोट्स के साथ इंटरैक्ट करते समय, (अलग से या एक साथ) कमांड दर्ज करने के लिए कह सकते हैं।

    आपके पास विभिन्न विकल्प हैं, जैसे स्लाइस (slice) करके (छांट कर), आप परिणाम प्राप्त कर सकते हैं। या, आप इन क्रियाओं (actions) के लिए removeprefix() और removesuffix() विधियों का उपयोग कर सकते हैं। निम्नलिखित चार उदाहरणों में, स्ट्रिंग शाब्दिक 'add new item' इन दो विधियों के साथ लागू किया गया है, और आवश्यक उप-स्ट्रिंग 'add ' या ' item' (रिक्त स्थान के साथ, बाद या पहले, जो आवश्यक नहीं हो सकता है) को एक तर्क के रूप में पारित किया गया है। जब उप-स्ट्रिंग तर्क के हिस्से के रूप में प्रदान किया जाता है और उप-स्ट्रिंग मूल स्ट्रिंग में नहीं मिलती है (रिक्त स्थान भी शामिल होता है), मूल स्ट्रिंग आउटपुट के रूप में वापस (return) आ जाती है।

print( 'add new item'.removeprefix( 'add ' ) )   # आउटपुट new item है।

print( 'add new item'.removeprefix( ' item' ) )   # आउटपुट add new item है।

print( 'add new item'.removesuffix( 'add ' ) )   # आउटपुट add new item है।

print( 'add new item'.removesuffix( ' item' ) )   # आउटपुट add new है।

split(), rsplit(), splitlines()

    आप print( help( str.split ) ) ,   print( help( str.rsplit ) )   और print( help( str.splitlines ) )   कथन निष्पादित करके सहायता दस्तावेज़ प्राप्त कर सकते हैं। विवरण के लिए नीचे दी गई तालिका देखें। ये तीन स्ट्रिंग विधियाँ सूची (list) डेटा-प्रकार लौटाती हैं। split() और rsplit() विधियाँ दो तर्क लेती हैं: (1) एक उप-स्ट्रिंग (विभाजक), उदाहरण के लिए, डबल/सिंगल कोट्स की एक जोड़ी के भीतर, ' ' एक रिक्त-(सफ़ेद) स्थान (डिफ़ॉल्ट रूप से, \n (नई लाइन), \r (कैरिज रिटर्न), \t (टैब), \f (लाइन-फ़ीड)), दो या अधिक रिक्त स्थान, अल्पविराम, या कोई अन्य प्रतीक, और (2) पूर्णांक मान maxsplit के रूप में (अर्थात्, जब आप split(',', 2) प्रदान करते हैं , (अल्पविराम) विभाजक के रूप में और दूसरे तर्क के रूप में 2, केवल पहले दो अल्पविराम की गणना की जाती है, और आउटपुट सूची में तीन आइटम/तत्व होंगे)।

my_string = 'Hello,World,Morning,Welcome'
my_list = my_string.split( ',' )
# नई बनाई गई सूची में चार आइटम, दूसरा तर्क उपरोक्त पंक्ति में प्रदान नहीं किया गया है।
print( my_list )   # आउटपुट ['Hello', 'World', 'Morning', 'Welcome'] है।
print( len( my_list ) )   # आउटपुट 4 है।

new_list = my_string.split( ',', 2 )
# नई बनाई गई सूची में तीन आइटम, केवल पहले दो अल्पविरामों को विभाजक के रूप में माना जाता है।
print( new_list )   # आउटपुट ['Hello', 'World', 'Morning,Welcome'] है।
print( len( new_list ) )   # आउटपुट 3 है।

    उपरोक्त उदाहरण में, स्ट्रिंग शाब्दिक 'Hello,World,Morning,Welcome' है। इनमें कोई सफेद-(रिक्त) स्थान नहीं है, हालांकि यदि कोई सफेद-(रिक्त) स्थान मौजूद हो भी, तो इससे कोई फर्क नहीं पड़ता क्योंकि ',' (अल्पविराम) का उपयोग विभाजक के रूप में किया गया है। लेकिन, निम्नलिखित उदाहरण में, आप देख सकते हैं कि जब कोई तर्क प्रदान नहीं किया जाता है, (या केवल maxsplit प्रदान किया जाता है), रिक्त स्थान, नई लाइनें इत्यादि का उपयोग विभाजक के रूप में किया जाएगा।

print( 'Hello World'.split() )   # आउटपुट ['Hello', 'World'] है।

print( 'Hello , World , Morning , Welcome'.split( ',' ) )   # आउटपुट ['Hello ', ' World ', ' Morning ', ' Welcome'] है।

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

long_string = 'Lorem ipsum dolor sit amet consectetur '\
'adipisicing elit. Harum natus tempore itaque? '\
'Necessitatibus perferendis libero perspiciatis ducimus? '\
'Unde consequuntur, earum, explicabo optio, libero '\
'cumque nihil possimus recusandae delectus laborum maiores?'
  # बहु-पंक्ति लंबी स्ट्रिंग बनाने के लिए, पिछला पृष्ठ देखें

list_created = long_string.split()
print( list_created )   # प्रत्येक शब्द को नव निर्मित सूची के एक आइटम/तत्व के रूप में आउटपुट करता है, जैसा कि नीचे दिखाया गया है:
print( len( list_created ) )   # आउटपुट 30 है।

['Lorem', 'ipsum', 'dolor', 'sit', 'amet', 'consectetur', 'adipisicing', 'elit.', 'Harum', 'natus', 'tempore', 'itaque?', 'Necessitatibus', 'perferendis', 'libero', 'perspiciatis', 'ducimus?', 'Unde', 'consequuntur,', 'earum,', 'explicabo', 'optio,', 'libero', 'cumque', 'nihil', 'possimus', 'recusandae', 'delectus', 'laborum', 'maiores?']
30

    print( long_string )   एक लंबी एकल-पंक्ति स्ट्रिंग का आउटपुट देगा, क्योंकि स्ट्रिंग शाब्दिक में कोई लाइन-ब्रेक नहीं है, लेकिन वह स्ट्रिंग शाब्दिक बहु-पंक्तियों में लिखी गई है। splitlines() विधि लंबी स्ट्रिंग को विभाजित करती है जहां \n (नई लाइन एस्केप कैरेक्टर) प्रत्येक लाइन पर ब्रेक (या नई लाइन) डाला जाता है।

long_string = 'Lorem ipsum dolor sit amet\nconsectetur '\
'adipisicing elit.\nHarum natus tempore itaque?\n'\
'Necessitatibus perferendis libero\nperspiciatis ducimus? '\
'Unde consequuntur,\nearum, explicabo optio, libero\n'\
'cumque nihil possimus recusandae\ndelectus laborum maiores?'


print( len( long_string.split() ) )   # आउटपुट 30 क्योंकि कुछ रिक्त स्थानों पर नई लाइन एस्केप कैरेक्टर जोड़ा गया है।

list_created = long_string.splitlines()
print( list_created )   # प्रत्येक पंक्ति को, जहां \n डाला गया है, नई बनाई गई सूची के एक आइटम/तत्व के रूप में आउटपुट करता है, जैसा कि नीचे दिखाया गया है:
print( len( list_created ) )   # Outputs 8 है।

30
['Lorem ipsum dolor sit amet', 'consectetur adipisicing elit.', 'Harum natus tempore itaque?', 'Necessitatibus perferendis libero', 'perspiciatis ducimus? Unde consequuntur,', 'earum, explicabo optio, libero', 'cumque nihil possimus recusandae', 'delectus laborum maiores?']
8

    splitlines() विधि केवल एक ही तर्क लेती है, अर्थात् keepends = True या केवल,True (डिफ़ॉल्ट रूप से, यह False है)। उपरोक्त उदाहरण में, कोष्ठक के भीतर बूलियन मान प्रदान नहीं किया गया है, और इस प्रकार, एस्केप कैरेक्टर, \n संरक्षित नहीं है। लेकिन जब splitlines() विधि के अंदर True एक तर्क के रूप में पारित किया जाता है, अर्थात splitlines( keepends = True ) या splitlines( True ), आउटपुट अलग होगा और इस प्रकार है:

30
['Lorem ipsum dolor sit amet\n', 'consectetur adipisicing elit.\n', 'Harum natus tempore itaque?\n', 'Necessitatibus perferendis libero\n', 'perspiciatis ducimus? Unde consequuntur,\n', 'earum, explicabo optio, libero\n', 'cumque nihil possimus recusandae\n', 'delectus laborum maiores?']
8

    split() और splitlines() विधियाँ पैरेंट स्ट्रिंग को बाएँ से दाएँ शुरू करके विभाजित करती हैं। लेकिन rsplit() विधि मूल स्ट्रिंग को दाएं से बाएं ओर शुरू करके विभाजित करती है।

my_string = 'Hello,World,Morning,Welcome'
my_list = my_string.rsplit( ',' )
# नई बनाई गई सूची में चार आइटम, दूसरा तर्क उपरोक्त पंक्ति में प्रदान नहीं किया गया है।
print( my_list )   # आउटपुट ['Hello', 'World', 'Morning', 'Welcome'] है।
print( len( my_list ) )   # आउटपुट 4 है।

new_list = my_string.rsplit( ',', 2 )
# नई बनाई गई सूची में तीन आइटम, केवल अंतिम दो अल्पविरामों को विभाजक के रूप में माना जाता है।
print( new_list )   # आउटपुट ['Hello,World', 'Morning', 'Welcome'] है।
print( len( new_list ) )   # आउटपुट 3 है।

strip(), lstrip(), rstrip()

    आप   print( help( str.strip ) ) , print( help( str.lstrip ) )   और print( help( str.rstrip ) )   कथन निष्पादित करके सहायता दस्तावेज़ प्राप्त कर सकते हैं । विवरण के लिए नीचे दी गई तालिका देखें। strip() विधि किसी भी (एक या अधिक) रिक्त (सफ़ेद) स्थानों को हटा देती है जो मूल स्ट्रिंग से पहले (अग्रणी) और बाद में (पीछे) होते हैं।

    इसी प्रकार, lstrip() विधि केवल मूल स्ट्रिंग से पहले (अग्रणी) किसी भी (सफ़ेद-) रिक्त स्थान को हटा देती है। और, rstrip() विधि केवल मूल स्ट्रिंग के बाद (पीछे) किसी भी (सफ़ेद-) रिक्त स्थान को हटा देती है। ये तीन विधियाँ दो वर्णों के बीच में मौजूद किसी भी सफेद (रिक्त) स्थान को नहीं हटाती हैं।

print( '     Hello World     '.strip() )   # आउटपुट Hello World है।

print( '     Hello World     '.lstrip() )   # आउटपुट Hello World      है।

print( '     Hello World     '.rstrip() )   # आउटपुट      Hello World है।

    यद्यपि (CLI और VSCode Editor Terminal में) अंतिम अक्षर के पीछे छोड़ा गया सफेद-(रिक्त) स्थान हमें दिखाई नहीं देता है, लेकिन इसे चुना (select) और गिना (count) जा सकता है।

विधि/फ़ंक्शनलौटाया गया प्रकारलौटाया गया मान
removeprefix(self, prefix, /)strयदि मौजूद हो तो दिए गए उपसर्ग स्ट्रिंग को हटाकर एक str लौटाएं। यदि स्ट्रिंग उपसर्ग स्ट्रिंग से शुरू होती है, तो स्ट्रिंग[len(उपसर्ग):] लौटाएं। अन्यथा, मूल स्ट्रिंग की एक प्रति लौटाएँ।
removesuffix(self, suffix, /)strयदि मौजूद हो तो दिए गए प्रत्यय स्ट्रिंग को हटाकर एक str लौटाएं। यदि स्ट्रिंग प्रत्यय स्ट्रिंग के साथ समाप्त होती है और वह प्रत्यय खाली नहीं है, तो स्ट्रिंग[:-len(प्रत्यय)] लौटाएं। अन्यथा, मूल स्ट्रिंग की एक प्रति लौटाएँ।
split(self, /, sep=None, maxsplit=-1)listविभाजक स्ट्रिंग के रूप में sep का उपयोग करके, स्ट्रिंग में सबस्ट्रिंग की एक सूची लौटाएँ। जब कोई नहीं (डिफ़ॉल्ट मान) पर सेट किया जाता है, तो यह किसी भी व्हाइटस्पेस वर्ण (\\n \\r \\t \\f और रिक्त स्थान सहित) पर विभाजित हो जाएगा और परिणाम से खाली स्ट्रिंग्स को हटा देगा।
rsplit(self, /, sep=None, maxsplit=-1)list(जैसा ऊपर बताया गया है वैसा ही split() विधि के समान, लेकिन) विभाजन स्ट्रिंग के अंत से शुरू होता है और सामने की ओर काम करता है।
splitlines(self, /, keepends=False)listपंक्ति की सीमाओं को तोड़ते हुए, स्ट्रिंग में पंक्तियों की एक सूची लौटाएँ। लाइन ब्रेक को परिणाम सूची में शामिल नहीं किया जाता है जब तक कि keepends नहीं दिया जाता है और True नहीं होता है।
strip(self, chars=None, /)strअग्रणी और अनुगामी रिक्त स्थान को हटाकर स्ट्रिंग की एक प्रति लौटाएँ।
lstrip(self, chars=None, /)strअग्रणी रिक्त स्थान हटाकर स्ट्रिंग की एक प्रति लौटाएँ।
rstrip(self, chars=None, /)strपिछली खाली जगह हटाकर स्ट्रिंग की एक प्रति लौटाएँ।

    join(), format() विधियों, और f"" या f'' (f-स्ट्रिंग के रूप में जाना जाता है) का उपयोग दो या दो से अधिक स्ट्रिंग्स और अन्य डेटा-प्रकार शाब्दिकों को संयोजित (concatenate) करने के लिए भी किया जाता है। आप अगले पृष्ठ में format(), f-स्ट्रिंग और अन्य स्ट्रिंग विधियों के बारे में सीखेंगे।


Leave a Comment: