Regex को उपसर्ग का उपयोग करना और नोटपैड ++ में जोड़ना


88

मेरे पास txt फ़ाइल में शब्दों की एक बड़ी सूची है और मैं नोटपैड ++ में एक regex खोजने और बदलने की कोशिश कर रहा हूं। मुझे प्रत्येक पंक्ति से पहले और प्रत्येक पंक्ति के बाद एक स्ट्रिंग जोड़ने की आवश्यकता है .. ताकि:

wordone
wordtwo
wordthree

बनना

सक्षम: "wordone"
सक्षम: "wordtwo"
सक्षम: "wordthree"

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


क्षमा करें, उन शब्द तार को अलग लाइनों पर होना चाहिए! मैं शर्त लगाता हूं कि चीजों को अब भ्रमित किया गया है ...
zuk1

मीठे मुझे बचाने के एक बहुत googling :)
Melaos

जवाबों:


171

अल्फ़ान्यूमेरिक शब्दों को मानते हुए, आप उपयोग कर सकते हैं:

Search  = ^([A-Za-z0-9]+)$
Replace = able:"\1"

या, यदि आप केवल लाइनों को हाइलाइट करना चाहते हैं और "रिप्लेसमेंट ऑल" और "इन सिलेक्शन" (उसी रिप्लेसमेंट के साथ) का उपयोग करना चाहते हैं:

Search = ^(.+)$

^लाइन की शुरुआत के लिए अंक।
$लाइन के अंत में इंगित करता है।

\1 कोष्ठकों के भीतर स्रोत मैच होगा।


धन्यवाद, खोज के लगभग 30 मिनट के बाद मैं सफलता के लिए यहां पहुंचा :)
dhaval

रेग एक्सप्रेशंस जीवन रक्षक होते हैं। सहायता के लिए धन्यवाद।
Tech

समझाने के लिए बहुत बढ़िया नौकरी +1
SSH This

यहाँ प्रारंभ करें यही वह चीज है जिसकी मुझे जरूरत थी।
चक ले बट

नवीनतम एन ++ में, ^([A-Za-z0-9]+)$कोई मैच नहीं लौटाया, लेकिन ^(.+)$हर परिदृश्य में काम किया। धन्यवाद!
लॉरी स्टर्न

29

आप नोटपैड ++ मल्टीलाइन संपादन क्षमताओं का उपयोग क्यों नहीं करते हैं?

पाठ का चयन करते समय Alt दबाए रखें (अपने सामान्य क्लिक-एंड-ड्रैग दृष्टिकोण का उपयोग करके) कई लाइनों में पाठ का चयन करने के लिए। इसे कभी-कभी स्तंभ संपादन भी कहा जाता है।

आप कर्सर को फ़ाइल की शुरुआत में रख सकते हैं, Alt (Shift) दबाएं और फिर बस नीचे-तीर या पेजडाउन को उन पंक्तियों का चयन करने के लिए दबाए रखें जिन्हें आप कुछ पाठ के साथ प्रस्तुत करना चाहते हैं :-) आसान। मल्टीलाइन संपादन नोटपैड ++ की एक बहुत ही उपयोगी विशेषता है। यह दृश्य स्टूडियो में भी संभव है, उसी तरह और ग्रहण में भी Alt + Shift + A दबाकर ब्लॉक सिलेक्शन मोड पर स्विच करें और फिर लाइनों के बीच पाठ का चयन करने के लिए माउस का उपयोग करें।


1
+1 यह वास्तव में बहुत अच्छा है, मुझे नहीं पता था कि आप ऐसा कर सकते हैं। क्या प्रत्येक पंक्ति के अंत में कुछ जोड़ना संभव है, जब प्रत्येक पंक्ति की लंबाई अलग-अलग हो? उदाहरण के लिए, जब 'कॉलम' की चौड़ाई बदलती है, तो आप प्रत्येक पंक्ति में पाठ जोड़ सकते हैं, तो यह साफ-सुथरा होगा। मेरे पास कार्यों की एक सूची है और मुझे इसे संलग्न करने की आवश्यकता है "();" प्रत्येक पंक्ति पर प्रत्येक फ़ंक्शन नाम एक अलग चौड़ाई है। मैं वर्तमान में ऐसा करने के लिए मैक्रो का उपयोग कर रहा हूं, धन्यवाद!
एसएसएच इस

5
संलग्न करने के लिए संभवतः "विस्तारित" खोज मोड का उपयोग करके सरल खोज / प्रतिस्थापन का उपयोग करना सबसे अच्छा है। आप लाइन एंडिंग के लिए खोज कर सकते हैं, जैसे \r\nकि और इसके साथ<whatever you want to append>\r\n
पीटर पेर्ह

यह वास्तव में वास्तव में एक महान समाधान है, विशेष रूप से उपरोक्त APPEND टिप्पणी के साथ।
चक ले बट

2
यह उपसर्ग के लिए उपयोगी है, लेकिन यदि आप मिश्रित लंबाई वाली रेखाओं (अंत में संलग्न) को उपसर्ग करना चाहते हैं तो यह उपयोगी नहीं है। मेरी इच्छा है कि नोटपैड ++ में नोटपैड 2 की तरह एक बिल्ट-इन "संशोधित लाइन्स" कमांड है, जो आपको लाइनों का चयन करने, Alt + M प्रेस करने और प्रत्येक लाइन से पहले और / या बाद में टेक्स्ट जोड़ने की अनुमति देता है।
थुडन

21

नियमित अभिव्यक्ति है कि इस्तेमाल किया जा सकता है:

Find: \w.+
Replace: able:"$&"

के रूप में, $&आप आप के लिए खोज स्ट्रिंग दे देंगे।

संदर्भ: regexr


6
का महान उल्लेख $&! \1सभी के वातावरण में काम नहीं करता।
pfabri

के बारे में शानदार जवाब $&। यह SublimeText में भी काम करता है।
पश्चिमीगंज

के बारे में शानदार जवाब $&। यह वीएस कोड में भी काम करता है।
पी। फ्रैंक

5

एक मैक्रो का उपयोग करें।

मैक्रो> रिकॉर्डिंग शुरू करें

अपने बदलावों को दोहराने योग्य तरीके से करने के लिए कीबोर्ड का उपयोग करें

घर> प्रकार "सक्षम"> अंत> नीचे तीर> घर

फिर मेनू पर वापस जाएं और स्टॉप रिकॉर्डिंग पर क्लिक करें फिर एक मैक्रो को कई बार चलाएं।

यह करना चाहिए और कोई regex आधारित जटिलताओं!


4
"जटिलताओं" का क्या मतलब है? :-)
तोमलक

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