के साथ सड़क के नामों को ठीक करना मुझे एक रेगेक्स समस्या हल करना है जो विशिष्ट हो सकता है, स्टैक ओवरफ़्लो के माध्यम से देखकर मैंने कुछ अच्छी खोज की है, लेकिन इसे काम करने के लिए उन्हें एक साथ टुकड़ा करने में सक्षम नहीं हैं।रेगेक्स
मूल रूप से मैं यह चाहता हूँ:
lorem ipsum north road
=>lorem ipsum rd (n)
north lorem ipsum rd
=>lorem ipsum rd (n)
lorem ipsum road north
=>lorem ipsum rd (n)
एक ऑटो पूरा कार्यक्रम के हिस्से के रूप में मैं आंशिक लेख बदलने की आवश्यकता सही संस्करण में ताकि यह डेटाबेस
देख सकेlorem ipsum so
uth वां =>lorem ipsum rd (s)
west lorem ipsum roa
घ =>lorem ipsum rd (w)
मैं किसी को मेरे लिए इस कार्यक्रम कोड करने के लिए नहीं करना चाहते हैं, लेकिन मैं सबसे अच्छा जानना चाहते हैं समस्या से निपटने का तरीका।
अब तुम मुझे पूछ सकते हैं कि मैं क्यों परेशान, के रूप में लोगों को इस तरह के ऊपर f'd व्याकरण के साथ नहीं लिख सकता है, लेकिन है कि क्योंकि मैं केवल अंग्रेजी के साथ नहीं काम कर रहा हूँ :(
चीयर्स
यह एक बड़ी चुनौती है। मैंने पहले एक रेगेक्स बनाया है जिसमें सड़क के प्रकार (यानी "स्ट्रीट", "लेन", "एवेन्यू", "एवेन्यू" इत्यादि) पाए गए थे, लेकिन यहां तक कि यह 200 से अधिक वर्णों का रेगेएक्स था। इसे हल करने के लिए उससे अधिक जटिल होगा। "नॉर्थ आरडी", "वेस्ट एवेन्यू" जैसे एज केस आदि इसे और भी चुनौतीपूर्ण बना देंगे। –
मुझे लगता है कि यह एक तरह का सवाल है जिसे एक बड़े रेगेक्स के साथ हल नहीं किया जाना चाहिए। कार्य को छोटे चरणों में तोड़ना और अलग-अलग करना आसान होगा: उदा। उत्तर, एन ... आदि के लिए जाँच करें और अंत में एक "(एन)" जोड़ें; अन्य दिशाओं की जांच करें; "सड़क" के संक्षेपों की जांच करें ... आदि। यदि आप प्रत्येक को एक अलग चरण में करते हैं, तो संभवतः इसे आसानी से पालन करना और लिखना आसान हो जाएगा। –
ओह, एक और विचार: यदि आप इसे चरणबद्ध तरीके से करते हैं, तो आपके पास अपने संशोधन को पूर्ववत करने का विकल्प होगा और फिर लुकअप को आजमाएं: यह संभव है कि कुछ सड़क में आपके द्वारा प्रतिस्थापित वास्तविक नाम में कुछ है। –