हैलो मेरे पास कुछ गन्दा पाठ है जिसे मैं किसी भी अच्छे तरीके से संसाधित करने में असमर्थ हूं और मैं कच्चे स्ट्रिंग से सभी ज़िप कोड 5 अंकों की संख्या से मेल खाना चाहता हूं और फिर उन्हें एक सूची में जोड़ना चाहता हूं। मेरी स्ट्रिंग कुछ इस तरह दिखती है:

string = '''
         January 2020
          Zip Code                                                                                            
           Current Month
        Sales Breakdown
      (by type)
              Last Month                Last Year     Year-to-Date
         95608
         Carmichael
         95610
        Citrus Heights
        95621
        Citrus Heights
         95624
         Elk Grove
         95626
         Elverta
         95628
         Fair Oaks
          95630
           Folsom
          95632
         Galt
        95638
        Herald
        95641
         Isleton
         95655
        Mather
       95660
        North Highlands
        95662
        Orangevale
            Total Sales                                                                                         
         43               REO Sales 0                                                      45                
        40                             43
           Median Sales Price                                                             $417,000             
                  $0                                      $410,000                 $400,000     
        $417,000
        '''
-3
bryan 16 फरवरी 2020, 23:44
2
zips = re.findall(r'\b\d{5}\b', string)
 – 
Nick
16 फरवरी 2020, 23:50
तुमने अब तक क्या प्रयास किया है?
 – 
Sayse
16 फरवरी 2020, 23:51
अप्स, मुझे क्षमा करें @ निक, मैंने अपना उत्तर पोस्ट करने से पहले आपकी टिप्पणी नहीं देखी।
 – 
Ivanhercaz
17 फरवरी 2020, 00:03
2
वह कोई समस्या नहीं; मैं उत्तर दे सकता था लेकिन ऐसा नहीं किया क्योंकि मुझे उम्मीद है कि यह प्रश्न डुप्लिकेट के रूप में बंद हो जाएगा।
 – 
Nick
17 फरवरी 2020, 00:05
हाँ, मैं भी पूरी तरह सहमत हूँ :(
 – 
Ivanhercaz
17 फरवरी 2020, 00:05

1 उत्तर

यह re.findall और रेगुलर एक्सप्रेशन \b\d{5}\b या यहां तक ​​कि केवल \d{5} के साथ किया जा सकता है। आइए एक उदाहरण देखें:

import re

string = '''
         January 2020
          Zip Code                                                                                            
           Current Month
        Sales Breakdown
      (by type)
              Last Month                Last Year     Year-to-Date
         95608
         Carmichael
         95610
        Citrus Heights
        95621
        Citrus Heights
         95624
         Elk Grove
         95626
         Elverta
         95628
         Fair Oaks
          95630
           Folsom
          95632
         Galt
        95638
        Herald
        95641
         Isleton
         95655
        Mather
       95660
        North Highlands
        95662
        Orangevale
            Total Sales                                                                                         
         43               REO Sales 0                                                      45                
        40                             43
           Median Sales Price                                                             $417,000             
                  $0                                      $410,000                 $400,000     
        $417,000
        '''

regex = r'\b\d{5}\b'

zip_codes = re.findall(regex, string)

फिर आप प्रत्येक कोड zip_codes से प्राप्त कर सकते हैं। मेरा सुझाव है कि आप पुनः दस्तावेज़ पढ़ें और रेगुलर एक्सप्रेशन कैसे करें। रेगेक्स लिखने और परीक्षण करने के लिए दिलचस्प टूल हैं, जैसे Regex101

मैं आपको यह भी सलाह देता हूं कि अगली बार जब आप पूछें, तो कृपया अपने आप से थोड़ी जांच करें और फिर जो आप चाहते हैं उसे करने का प्रयास करें, और फिर, यदि आपको कोई समस्या है, तो इस विशिष्ट मुद्दे के लिए पूछें। सहायता पृष्ठ मैं एक अच्छा प्रश्न कैसे पूछूं? और न्यूनतम, प्रतिलिपि प्रस्तुत करने योग्य उदाहरण कैसे बनाएं आपको एक अच्छा प्रश्न लिखने में मदद कर सकता है।

-1
Ivanhercaz 17 फरवरी 2020, 01:48
यदि नकारात्मक वोट मेरे उत्तर में किसी त्रुटि के कारण है तो मैं इसे जानने और सीखने के लिए बहुत आभारी रहूंगा! अग्रिम में धन्यवाद।
 – 
Ivanhercaz
17 फरवरी 2020, 00:14