2012-10-31 11 views
15

मेरे पास कुछ अल्पविराम से अलग नामों और कुछ अल्पविराम से अलग खाता संख्याओं वाली एक फ़ाइल है। तो नाम हमेशा "डॉव, जॉन" और ",19862" जैसी संख्याएं होंगी। नोटपैड ++ के रेगेक्स का उपयोग करना विशेषताएं खोजें, मैं संख्याओं के बीच '' 'के बीच सभी', 'को बदलना चाहता हूं।नोटपैड ++ रेगेक्स का उपयोग केवल ढूंढने के पाठ को ढूंढने और बदलने के लिए

मूल रूप से बारी:

12345,09876 
13568,08642 

में

12345|09876 
13568|08642 

मैं [0-9],को को खोजने के लिए अल्पविराम का उपयोग कर रहे हैं, लेकिन मैं इसे ठीक से की पिछले अंक छोड़ने के लिए नहीं मिल सकता है संख्या और को केवल अल्पविराम बदलें।

कोई विचार?

उत्तर

18

([0-9]), के लिए खोजें और इसे \1| के साथ बदलें। क्या वह काम करता है?

+0

आह, ऐसा लगता है, धन्यवाद! मैं '[0-9]' की कोशिश कर रहा था और इसे '\ 1 |' से बदल रहा था, जो काम नहीं कर रहा था, लेकिन जैसा कि आपने यहां किया था, कोष्ठक जोड़ना पूरी तरह से काम करता है। एक बार फिर धन्यवाद! – JToland

+0

हमें माता-पिता की ज़रूरत क्यों है? – Patrick

+1

@ पैट्रिक रेगेक्स में, कोष्ठक समूह के भीतर भागों को कैप्चर करने के लिए पार्सर को एक कैप्चर समूह बनाते हैं ताकि इसका उपयोग प्रतिस्थापन के लिए किया जा सके। –

6

उपयोग इस regex

(\d),(\d) 

और साथ

$1|$2 

या

\1|\2 
+0

क्या आप '\ d +' का उपयोग नहीं करेंगे? – Blender

+0

@ ब्लेंडर जो वही काम करेगा – Anirudha

+0

यह वास्तव में टेक्स्ट में "$ 1 | $ 2" को प्रतिस्थापित करता है - जैसे कि यह इच्छित स्ट्रिंग के अलावा $ 1 को पार्स नहीं कर रहा था। – JToland

2

(?<=\d), काम करना चाहिए बदलें। विचित्र रूप से पर्याप्त, यह केवल तभी काम कर रहा है जब मैं सभी को प्रतिस्थापित करता हूं, लेकिन यदि मैं एकल को प्रतिस्थापित नहीं करता हूं। एक विकल्प के रूप में, आप (\d), का उपयोग कर सकते हैं और $1|

+0

मुझे विश्वास नहीं है कि नोटपैड ++ 'लुकहेड' और 'लुकबींड' दावे का समर्थन करता है। – Nick

+0

@ निक वास्तव में, यह करता है। मेरे पास एनपी ++ है और यह काम करता है (मैचों को पाता है), लेकिन अगर मैं सभी का उपयोग करता हूं तो केवल उन्हें बदल देता है। अगर मैं उन्हें मामले के मामले में बदलने की कोशिश करता हूं, तो यह उन्हें अपरिवर्तित छोड़ देता है। –

+0

मैं आपको विश्वास करता हूं, मैंने केवल यही सुना था। मैंने पहले regex के लिए एनपी ++ का उपयोग नहीं किया है। – Nick

संबंधित मुद्दे