यह प्रश्न एक पिछले प्रश्न पर बनाता है जो मुझे gis.stackexchange पर आया था: नियमित एक्सप्रेशन का उपयोग करके आसानी से विशेषता डेटा को कैसे संपादित किया जाए?
शायद कोई मुझे सही दिशा में इंगित कर सकता है?
मेरे पास समोच्च लाइनों की एक वेक्टर आकृति है। विशेषता तालिका में मैंने पहले से ही एक फ़ील्ड को कनवर्ट किया है जिसे FEET कहा जाता है जिसमें पूर्णांक मानों से युक्त एक स्ट्रिंग फ़ील्ड में लेबल नामक डेटा होता है। इसके अतिरिक्त मैंने स्ट्रिंग के अंत में 'a' जोड़ दिया ताकि डेटा लेबल होने पर इसे पैरों के रूप में पढ़ा जा सके।
अगली बात जो मैं करने का प्रयास कर रहा हूं वह यह है कि स्ट्रिंग के पहले दो मानों के बीच केवल कॉमा डालना है यदि स्ट्रिंग की लंबाई 4 से अधिक है, या इसलिए कि अल्पविराम केवल लेबल फ़ील्ड में हजारों और सैकड़ों अंकों के बीच दिखाई देगा। लंबाई 4 से अधिक होनी चाहिए क्योंकि मैं भी गिनती कर रहा हूं '
मेरा अब तक का कोड है:
case when length( "Label") >4 then regexp_replace( "Label", '^([0-9])+([0-9]{3}\')$','$1 , $2') else "Label" end
हालाँकि, regexp_replace फ़ंक्शन फ़ंक्शन के 3 पैरामीटर में समूह चर $ 1 $ 2 को स्वीकार नहीं करता है।
मैंने http://docs.python.org/2/library/re.html को देखा है क्योंकि फ़ील्ड-कैलकुलेटर रेगेक्स है जो मैं समझता हूं कि मैं अजगर के रेगेक्स के उपयोग के आधार पर समझता हूं लेकिन यह पता लगाने में सक्षम नहीं है। हो सकता है कि मैं जो करने का प्रयास कर रहा हूं वह अभी तक मैक ओएसएक्स पर क्यूजीआईएस 1.8 में फ़ील्ड कैलकुलेटर में इस फ़ंक्शन के साथ संभव नहीं है। या अधिक संभावना है कि मेरा वाक्यविन्यास गलत है क्योंकि मैं नौसिखिया प्रोग्रामर हूं और कुछ हद तक नियमित अभिव्यक्ति के लिए नया हूं।