Splitting a String Python within a list -


मेरे पास एक सूची है

  a = ['जॉन (है, महान)         

फिर मैं ऐसा करता हूं

  मैं एक में: b.append (i.split (','))   

लेकिन सूची इस तरह दिख रही है

  [[जॉन 'है', 'महान)', 'पॉल', 'स्कूल'], ['रॉबर्ट', 'जैक इसका कारण ये है कि इसका विभाजन अल्पविराम पर होता है, परन्तु इसे विभाजित करने का दूसरा तरीका है, इसलिए यह  जोन (है ',' महान)   

कोड> एक स्ट्रिंग के रूप में दिखाई देता है जैसे जॉन (है, महान)

आप list.extend () का उपयोग व्यक्तिगत रूप से जोड़ने के लिए कर सकते हैं:

  में मैं: b.extend (i.split (','))   

अल्पविराम पर पाठ को विभाजित करने के लिए अंदर कोष्ठक में नहीं आप निम्न नियमित अभिव्यक्ति का उपयोग कर सकते हैं:

  re.split (r ', (? = [^ ()] * (?: \ (| $)) ', I)   

यह केवल अल्पविराम पर विभाजित होता है, अगर यह अगले ओपनिंग कोष्ठक तक तब तक नहीं किया जाता है जब तक कि किसी भी कोष्ठक (खोलने या बंद) यह अभिव्यक्ति नीचे आती है जब आपके नेस्टेड कोष्ठक है, लेकिन आपके सरल मामले के लिए काम करता है:

  & gt; & gt; & gt; आयात पुनः & gt; & gt; & gt; मैं = 'जॉन (है, महान), पॉल, स्कूल' & gt; & gt; & gt; re.split (r ', + (? = [^ ()] * (?: \ (| $)), i) [' जॉन (है, महान) ',' पॉल ',' स्कूल ']   

अधिक जटिल विभाजन के लिए, एक पूर्ण विकसित पार्सर का उपयोग करें।

Comments