नोटपैड ++: विभिन्न मूल्यों के साथ विशिष्ट पाठ को कैसे प्रतिस्थापित किया जाए?


1

मैं एक खेल को संशोधित कर रहा हूं। मैं कुछ संख्याएँ बदलना चाहता हूँ, लेकिन मुझे इसे विशिष्ट तरीके से करने की आवश्यकता है।

उदाहरण के लिए:

सैनिक जिन, 24, 0, 1

मैं संख्या 24 को बदलना चाहता हूं, लेकिन पंक्ति में किसी अन्य मान को परिवर्तित नहीं करना चाहता, बल्कि संख्या 24 से युक्त हर दूसरी पंक्ति को भी बदल सकता हूं और सैनिक के साथ शुरुआत करूंगा।

इस तरह दिखने वाली कोई भी रेखा:

सैनिक NAME, 24, #, #

उस लाइन में किसी और चीज को प्रभावित किए बिना और उस लाइन में नाम या अन्य मूल्यों की परवाह किए बिना ऐसा करने में सक्षम होना चाहिए।

क्या मै वह कर सकता हूं? मैं उसे कैसे कर सकता हूँ?


ऐसा करने का एकमात्र तरीका यह है कि वास्तव में रेग्युलर एक्सप्रेशंस का उपयोग करके। फिर भी, उनका उपयोग करना सीखने के लिए एक कठिन सीखने की अवस्था के साथ आता है। आप भाग्यशाली हैं @wlod ने एक समाधान प्रदान किया, लेकिन इसे समझना और इसमें बदलाव करने में सक्षम होना चुनौतीपूर्ण हो सकता है। बस आपको बताना चाहता था कि ऐसा करने का यही एकमात्र तरीका है। वहाँ नहीं वास्तव में एक विकल्प है ...
Wouter

जवाबों:


1

नोटपैड ++ नियमित भाव मानक पीसीआरई का उपयोग करते हैं

मैंने ऑनलाइन संपादक regex101.com का उपयोग FLAVOR के साथ ' pcre ' के लिए किया है। उसी नियमित अभिव्यक्ति ने N ++ में आकर्षण की तरह काम किया।

मैंने जो डमी इनपुट उपयोग किया है:

soldier NAME1, 24, 0, 1
soldier NAME2, 25, 1, 2
soldier NAME3, 26, 2, 3
soldier NAME4, 27, 3, 4
soldier NAME5, 28, 4, 5
soldier NAME6, 29, 5, 6
soldier NAME7, 30, 6, 7
machine NAME8, 24, 7, 8
Xsoldier NAME9, 24, 8, 9
soldier NAME10, 24, 9, 10

अपेक्षित आउटपुट:
केवल पहली और अंतिम पंक्ति को संशोधित किया जाना चाहिए। संख्या '24' को एक नए मूल्य के साथ प्रतिस्थापित किया जाना चाहिए।

रेगेक्स अभिव्यक्ति:

^soldier\s+(?:[^\,]+\,\s+)\K24(?=\,\s+\d+\,\s+\d+)

अब आप मानक Ctrl + H का उपयोग कर सकते हैं, 'फाइंड क्या' को अभिव्यक्ति से भरा जाना चाहिए और नए मूल्य के साथ 'बदलें' के साथ। सुनिश्चित करें कि 'व्रैप अराउंड' की जाँच हो चुकी है और 'खोज मोड' भी 'रेगुलर एक्सप्रेशन' पर सेट है।

'सभी को बदलें' पर क्लिक करने से सभी संख्या '24' को एक नए निर्दिष्ट मान के साथ बदल देगी।


0

हां, आपको एक नियमित अभिव्यक्ति का उपयोग करने की आवश्यकता है

ट्यूटोरियल भी देखें


1
यह प्रश्न के लिए एक कार्रवाई योग्य समाधान के बजाय सामान्य जानकारी का लिंक है, इसलिए यह एक टिप्पणी के रूप में अधिक उपयुक्त होगा। लेकिन यहां तक ​​कि अगर यह एक समाधान के लिए लिंक था, तो बाहरी लिंक टूट सकते हैं, जिस स्थिति में जवाब का कोई मूल्य नहीं होगा। उत्तर स्व-निहित होना चाहिए; लिंक केवल अटेंशन और पूरक संदर्भ के लिए हैं।
फिक्सर 1234
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.