প্রথম ঘটনায় বিভক্ত


309

ডিলিমিটারের প্রথম উপস্থিতিতে স্ট্রিংকে বিভক্ত করার সর্বোত্তম উপায় কী হবে?

উদাহরণ স্বরূপ:

"123mango abcd mango kiwi peach"

প্রথমটিতে বিভাজন mango:

"abcd mango kiwi peach"

উত্তর:


522

দস্তাবেজগুলি থেকে :

str.split([sep[, maxsplit]])

ডিলিমিটার স্ট্রিং হিসাবে সেপ ব্যবহার করে স্ট্রিংয়ের শব্দের একটি তালিকা ফেরত দিন । যদি ম্যাক্সস্প্লিট দেওয়া হয়, সর্বাধিক ম্যাক্সপ্লিট স্প্লিট হয় (সুতরাং, তালিকার বেশিরভাগ maxsplit+1উপাদান থাকবে)।

s.split('mango', 1)[1]

দ্রষ্টব্য: maxsplitকাউন্টে পৌঁছানোর পরে যদি আরও বিভাজন সম্পাদন করা যায় তবে তালিকার শেষ উপাদানটিতে স্ট্রিংয়ের বাকী অংশ থাকবে (যে কোনও sepঅক্ষর / স্ট্রিং সহ)।
বুভিনেজে

64
>>> s = "123mango abcd mango kiwi peach"
>>> s.split("mango", 1)
['123', ' abcd mango kiwi peach']
>>> s.split("mango", 1)[1]
' abcd mango kiwi peach'

8
@ সুইস: তো কী? কৌশলটি এখনও একইরকম।
ইগনাসিও ওয়াজকেজ-আব্রামগুলি

6
@ ইগনাসিও: আমি কেবল এটিকে নির্দেশ করছি। সম্পূর্ণ সঠিক উত্তরটির জায়গায় আংশিকভাবে সঠিক উত্তর পাওয়ার কোনও কারণ নেই।
সুইস

প্রযুক্তিগতভাবে সঠিক ডিলিমিটার ধরে নেওয়া হয়। 'প্রথম' হ'ল সূচক [1]। আমরা সবাই যেটিকে উল্লেখ করছি তা অবশ্যই শূন্য-ইথ সূচক হবে। : ডি শব্দার্থক।
ইজাক কর্পেট

27

আমার জন্য আরও ভাল পন্থা হ'ল:

s.split('mango', 1)[-1]

... কারণ যদি ঘটতে থাকে যে ঘটনাটি যদি স্ট্রিংয়ের মধ্যে না থাকে তবে আপনি পাবেন " IndexError: list index out of range"

অতএব -1কোনও ক্ষয়ক্ষতি আসবে না কারণ ইতিমধ্যে সংখ্যার সংখ্যার সংখ্যা সেট করা আছে।


1
যেমনটি আগে লিখিত হয়েছে তেমন ঘটনার সংখ্যা যেখানে পদ্ধতি বিভক্ত () প্রয়োগ করা হচ্ছে। পদ্ধতিটি কেবল প্রথম 'আমের' স্ট্রিংটি খুঁজে পেতে এবং প্রয়োগ করবে।
অ্যালেক্স

2

আপনি এটি ব্যবহার করতে পারেন 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 টি উপাদান থাকবে।


-2
df.columnname[1].split('.', 1)

এটি '' এর প্রথম ঘটনাটির সাথে ডেটা বিভক্ত করবে। স্ট্রিং বা ডেটা ফ্রেম কলাম মান in

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.