ডিলিমিটারের প্রথম উপস্থিতিতে স্ট্রিংকে বিভক্ত করার সর্বোত্তম উপায় কী হবে?
উদাহরণ স্বরূপ:
"123mango abcd mango kiwi peach"
প্রথমটিতে বিভাজন mango
:
"abcd mango kiwi peach"
ডিলিমিটারের প্রথম উপস্থিতিতে স্ট্রিংকে বিভক্ত করার সর্বোত্তম উপায় কী হবে?
উদাহরণ স্বরূপ:
"123mango abcd mango kiwi peach"
প্রথমটিতে বিভাজন mango
:
"abcd mango kiwi peach"
উত্তর:
দস্তাবেজগুলি থেকে :
str.split([sep[, maxsplit]])
ডিলিমিটার স্ট্রিং হিসাবে সেপ ব্যবহার করে স্ট্রিংয়ের শব্দের একটি তালিকা ফেরত দিন । যদি ম্যাক্সস্প্লিট দেওয়া হয়, সর্বাধিক ম্যাক্সপ্লিট স্প্লিট হয় (সুতরাং, তালিকার বেশিরভাগ
maxsplit+1
উপাদান থাকবে)।
s.split('mango', 1)[1]
>>> s = "123mango abcd mango kiwi peach"
>>> s.split("mango", 1)
['123', ' abcd mango kiwi peach']
>>> s.split("mango", 1)[1]
' abcd mango kiwi peach'
আমার জন্য আরও ভাল পন্থা হ'ল:
s.split('mango', 1)[-1]
... কারণ যদি ঘটতে থাকে যে ঘটনাটি যদি স্ট্রিংয়ের মধ্যে না থাকে তবে আপনি পাবেন " IndexError: list index out of range"
।
অতএব -1
কোনও ক্ষয়ক্ষতি আসবে না কারণ ইতিমধ্যে সংখ্যার সংখ্যার সংখ্যা সেট করা আছে।
আপনি এটি ব্যবহার করতে পারেন str.partition
:
>>> text = "123mango abcd mango kiwi peach"
>>> text.partition("mango")
('123', 'mango', ' abcd mango kiwi peach')
>>> text.partition("mango")[-1]
' abcd mango kiwi peach'
>>> text.partition("mango")[-1].lstrip() # if whitespace strip-ing is needed
'abcd mango kiwi peach'
ব্যবহারের সুবিধাটি str.partition
হ'ল এটি সর্বদা ফর্মটিতে একটি টুপুল ফেরত দেবে:
(<pre>, <separator>, <post>)
সুতরাং এটি আউটপুটকে আনপ্যাকিংকে সত্যিই নমনীয় করে তোলে কারণ ফলশ্রুতিতে ব্যবহৃত টিউপলটিতে সর্বদা 3 টি উপাদান থাকবে।
df.columnname[1].split('.', 1)
এটি '' এর প্রথম ঘটনাটির সাথে ডেটা বিভক্ত করবে। স্ট্রিং বা ডেটা ফ্রেম কলাম মান in
maxsplit
কাউন্টে পৌঁছানোর পরে যদি আরও বিভাজন সম্পাদন করা যায় তবে তালিকার শেষ উপাদানটিতে স্ট্রিংয়ের বাকী অংশ থাকবে (যে কোনওsep
অক্ষর / স্ট্রিং সহ)।