উত্তর:
"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 এবং আরএইচএসকে পৃথক ভেরিয়েবলগুলিতে আনপ্যাক করতে পারেন:
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']
"[Am] +" এর নিয়মিত অভিব্যক্তিটির অর্থ হ'ল ছোট হাতের অক্ষরগুলির 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
যদি এটি সর্বদা একটি এমনকি এলএইচএস / আরএইচএস বিভক্ত হয়ে যায়, আপনি partition
স্ট্রিংয়ে তৈরি পদ্ধতিটিও ব্যবহার করতে পারেন । এটি একটি 3-টিপলটি ফেরত দেয় (LHS, separator, RHS)
যেন বিভাজকটি পাওয়া যায় এবং (original_string, '', '')
যদি বিভাজক উপস্থিত না থাকে:
>>> "2.7.0_bf4fda703454".partition('_')
('2.7.0', '_', 'bf4fda703454')
>>> "shazam".partition("_")
('shazam', '', '')
partition
স্ট্রিংয়ের পদ্ধতিটি পড়ুন এবং তারপরে আপনার প্রশ্নটি আপডেট করুন।