जवाबों:
"2.7.0_bf4fda703454".split("_")
तार की एक सूची देता है:
In [1]: "2.7.0_bf4fda703454".split("_")
Out[1]: ['2.7.0', 'bf4fda703454']
यह हर अंडरस्कोर पर स्ट्रिंग को विभाजित करता है । यदि आप चाहते हैं कि यह पहले विभाजन के बाद बंद हो जाए, तो उपयोग करें "2.7.0_bf4fda703454".split("_", 1)
।
यदि आप इस तथ्य के लिए जानते हैं कि स्ट्रिंग में एक अंडरस्कोर है, तो आप LHS और RHS को अलग-अलग चर में भी खोल सकते हैं:
In [8]: lhs, rhs = "2.7.0_bf4fda703454".split("_", 1)
In [9]: lhs
Out[9]: '2.7.0'
In [10]: rhs
Out[10]: 'bf4fda703454'
एक विकल्प का उपयोग करना है partition()
। उपयोग अंतिम उदाहरण के समान है, सिवाय इसके कि यह दो के बजाय तीन घटक देता है। मुख्य लाभ यह है कि यदि स्ट्रिंग विभाजक नहीं है, तो यह विधि विफल नहीं होती है।
एक स्ट्रिंग को अंतरिक्ष में विभाजित करें, एक सूची प्राप्त करें, इसके प्रकार दिखाएं, इसे प्रिंट करें:
el@apollo:~/foo$ python
>>> mystring = "What does the fox say?"
>>> mylist = mystring.split(" ")
>>> print type(mylist)
<type 'list'>
>>> print mylist
['What', 'does', 'the', 'fox', 'say?']
यदि आपके पास एक दूसरे के बगल में दो सीमांकक हैं, तो रिक्त स्ट्रिंग मान ली गई है:
el@apollo:~/foo$ python
>>> mystring = "its so fluffy im gonna DIE!!!"
>>> print mystring.split(" ")
['its', '', 'so', '', '', 'fluffy', '', '', 'im', 'gonna', '', '', '', 'DIE!!!']
अंडरस्कोर पर एक स्ट्रिंग को विभाजित करें और सूची में 5 वें आइटम को पकड़ो:
el@apollo:~/foo$ python
>>> mystring = "Time_to_fire_up_Kowalski's_Nuclear_reactor."
>>> mystring.split("_")[4]
"Kowalski's"
एक में कई रिक्त स्थान को संक्षिप्त करें
el@apollo:~/foo$ python
>>> mystring = 'collapse these spaces'
>>> mycollapsedstring = ' '.join(mystring.split())
>>> print mycollapsedstring.split(' ')
['collapse', 'these', 'spaces']
जब आप पायथन के विभाजन की विधि के लिए कोई पैरामीटर नहीं देते हैं, तो दस्तावेज़ीकरण कहता है : "लगातार व्हाट्सएप के रन को एक एकल विभाजक के रूप में माना जाता है, और यदि स्ट्रिंग में अग्रणी या अनुगामी व्हिस्पस्पेस होता है, तो परिणाम प्रारंभ या अंत में कोई खाली स्ट्रिंग नहीं होगा"।
अपने टोपी लड़कों पर पकड़ो, एक नियमित अभिव्यक्ति पर पार्स करें:
el@apollo:~/foo$ python
>>> mystring = 'zzzzzzabczzzzzzdefzzzzzzzzzghizzzzzzzzzzzz'
>>> import re
>>> mylist = re.split("[a-m]+", mystring)
>>> print mylist
['zzzzzz', 'zzzzzz', 'zzzzzzzzz', 'zzzzzzzzzzzz']
नियमित अभिव्यक्ति "[बजे]" का अर्थ है छोटे अक्षरों a
के माध्यम से m
है कि हो एक या अधिक बार परिसीमक के रूप में मिलान किया जाता है। re
एक पुस्तकालय आयात किया जाना है।
या यदि आप एक समय में एक आइटम को चूमना चाहते हैं:
el@apollo:~/foo$ python
>>> mystring = "theres coffee in that nebula"
>>> mytuple = mystring.partition(" ")
>>> print type(mytuple)
<type 'tuple'>
>>> print mytuple
('theres', ' ', 'coffee in that nebula')
>>> print mytuple[0]
theres
>>> print mytuple[2]
coffee in that nebula
यदि यह हमेशा एक समान LHS / RHS विभाजन होने जा रहा है, तो आप उस partition
विधि का भी उपयोग कर सकते हैं जिसे स्ट्रिंग्स में बनाया गया है। यह 3-टपल देता है जैसे (LHS, separator, RHS)
कि विभाजक पाया जाता है, और (original_string, '', '')
यदि विभाजक मौजूद नहीं था:
>>> "2.7.0_bf4fda703454".partition('_')
('2.7.0', '_', 'bf4fda703454')
>>> "shazam".partition("_")
('shazam', '', '')
partition
स्ट्रिंग की विधि पर पढ़ें , और फिर अपना प्रश्न अपडेट करें।