2010-08-13 3 views
104

में एक डिलीमीटर द्वारा एक स्ट्रिंग को विभाजित करें इस स्ट्रिंग को कैसे विभाजित करें जहां $$ टेक्स्ट $$ डेलीमीटर है।पायथन

1.MATCHES$$TEXT$$STRING 
    2.MATCHES $$TEXT$$ STRING 
+3

http://docs.python.org/library/stdtypes.html#str.split – getekha

+6

यह अजगर मानक दस्तावेजों को पढ़ने और की मूल बातें समझ शुरू करने के लिए कुछ कार्यक्रमों दूसरों बना दिया है समझने की कोशिश कर के लायक है अजगर। भाषा सीखने के लिए अभ्यास और प्रतिलिपि/संशोधन करना बहुत अच्छा उपकरण है। –

उत्तर

175

string.split('$$TEXT$$')?

>>> a="1.MATCHES$$TEXT$$STRING" 
>>> a.split("$$TEXT$$") 
['1.MATCHES', 'STRING'] 

>>> a="2.MATCHES $$TEXT$$ STRING" 
>>> a.split("$$TEXT$$") 
['2.MATCHES ', ' STRING'] 

और:

>>> [x.strip() for x in "2.MATCHES $$TEXT$$ STRING".split("$$TEXT$$")] 
['2.MATCHES', 'STRING'] 
+1

मैं सोच रहा था, पहले उदाहरण (केवल विभाजन() का उपयोग करके) और दूसरा उदाहरण (लूप के साथ) के बीच क्या अंतर है? – EndenDragon

+4

@EndenDragon लूप के लिए स्वचालित रूप से 'x.strip() 'लागू होगा और दोनों तरफ सफेद जगह के बिना मैचों की एक सूची वापस कर देगा। दुष्ट का विस्तार में वर्णन। –

4

आप csv मॉड्यूल है, जो अल्पविराम से अलग फ़ाइलों के लिए डिज़ाइन किया गया है, लेकिन आसानी से एक कस्टम सीमांकक उपयोग करने के लिए संशोधित किया जा सकता में रुचि हो सकती।

import csv 
csv.register_dialect("myDialect", delimiter = "$$TEXT", <other-options>) 
lines = [ "1.MATCHES$$TEXT$$STRING", "2.MATCHES $$TEXT$$ STRING" ] 

for row in csv.reader(lines): 
    ...