विभाजक की अंतिम घटना के आधार पर 2 से 2 में विभाजित स्ट्रिंग


100

मैं यह जानना चाहूंगा कि क्या कोई विभाजक की अंतिम घटना के आधार पर स्ट्रिंग को 2 भागों में तोड़ने के लिए अजगर में कोई फ़ंक्शन है।

उदाहरण के लिए: स्ट्रिंग "एबीसी, डी, ई, एफ" पर विचार करें, विभाजक पर विभाजन के बाद ",", मैं आउटपुट चाहता हूं

"एबीसी, डी, ई" और "एफ"।

मुझे पता है कि वांछित आउटपुट प्राप्त करने के लिए स्ट्रिंग में हेरफेर कैसे करें, लेकिन मैं जानना चाहता हूं कि क्या अजगर में अंतर्निहित फ़ंक्शन में कोई है।

जवाबों:


118

का उपयोग करें rpartition(s)। यह बिल्कुल वैसा ही करता है।

आप भी इस्तेमाल कर सकते हैं rsplit(s, 1)


11
बिलकुल नहीं: "abc, d, e, f"।। समान (',') -> ('abc, d, e', ',', 'f')
Vanuan

@Vanuan, यह वास्तव में वास्तव में है। बस विभाजक को एक कारण या किसी अन्य के लिए भी लौटाता है: str.rpartition (sep) स्ट्रिंग को sep की अंतिम घटना में विभाजित करता है, और विभाजक से पहले वाले हिस्से में 3-ट्यूपल लौटाता है, विभाजक के बाद, और विभाजक के बाद का हिस्सा । यदि विभाजक नहीं मिला है, तो दो खाली तारों वाले 3-टपल लौटें, इसके बाद स्ट्रिंग भी।
पेटर इवानोव

23
rsplit(s, 1)और rpartition(s)आउटपुट अलग है, आपको स्वीकार करना होगा।
वानुअन


54

आप विभाजक की अंतिम घटना से एक तार को विभाजित कर सकते हैं rsplit:

स्ट्रिंग में शब्दों की एक सूची देता है, सीमांकक स्ट्रिंग (दाएं से शुरू) द्वारा अलग किया जाता है।

अंतिम अल्पविराम से विभाजित करने के लिए:

>>> "a b c,d,e,f".rsplit(',', 1)
['a b c,d,e', 'f']
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.