বিভাজনের শেষ ঘটনাটির উপর ভিত্তি করে 2 এ বিভক্ত স্ট্রিং


100

আমি জানতে চাই যে পৃথককারীটির শেষ ঘটনাটির উপর ভিত্তি করে পাইথনটিতে 2 টি ভাগে স্ট্রিং ভেঙে ফাইনের মধ্যে কোনও বিল্ট রয়েছে কিনা।

যেমন: বিভাজকের উপর বিভাজনের পরে "abc, d, e, f" স্ট্রিংটি বিবেচনা করুন, "আমি আউটপুটটি চাই

"এবিসি, ডি, ই" এবং "চ"

আমি পছন্দসই আউটপুট পেতে স্ট্রিংটি কীভাবে পরিচালনা করব তা আমি জানি তবে পাইথনটিতে বিল্ট ফাংশনটি রয়েছে কিনা তা জানতে চাই।

উত্তর:


118

ব্যবহার rpartition(s)। এটা ঠিক যে করে।

আপনি ব্যবহার করতে পারেন rsplit(s, 1)


11
না ঠিক: "ABC, ডি, ই, এফ" .rpartition ( ',') -> ( 'ABC, ডি, ই', ',', 'চ')
Vanuan

@ ভানুয়ান, এটি আসলেই সত্য। কেবল একটি কারণে বা অন্য কারণে পৃথককেও প্রদান করে: স্ট্রিয়র পার্টিশন (সেপ) সেপের শেষ ঘটনাটিতে স্ট্রিংটি বিভক্ত করুন এবং বিভাজকের আগে অংশযুক্ত একটি 3-টুপল ফিরে করুন, বিভাজক নিজেই এবং বিভাজনের পরে অংশটি । বিভাজকটি পাওয়া না গেলে, দুটি খালি স্ট্রিং যুক্ত একটি 3-টুপল ফিরে করুন, তারপরে নিজেই স্ট্রিংটি দিন।
পেটার ইভানভ 20

23
rsplit(s, 1)এবং rpartition(s)আউটপুট আলাদা, আপনাকে অবশ্যই স্বীকার করতে হবে।
ভানুয়ান


54

আপনি এর সাথে পৃথককারীটির শেষ ঘটনাটি দিয়ে একটি স্ট্রিংকে বিভক্ত করতে পারেন rsplit:

ডিলিমিটার স্ট্রিং (ডান থেকে শুরু) দ্বারা পৃথক স্ট্রিংয়ের শব্দের একটি তালিকা ফেরত দেয়।

শেষ কমা দ্বারা বিভক্ত করতে:

>>> "a b c,d,e,f".rsplit(',', 1)
['a b c,d,e', 'f']
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.