2014-06-05 3 views
6

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

d1t01 - trackname 

d1t02 - trackname 

d1t03 - trackname 

d1t04 - trackname 

d1t05 - trackname 

d1t06 - trackname 

d1t07 - trackname 

d1t08 - trackname 

d1t09 - trackname 

d1t10 - trackname 

d1t11 - trackname 

मैं पता लगा इस regex के साथ लाइन की शुरुआत मैच के लिए कैसे:

text text text text 
text text text text text text text text 
text text text text text text text text text text text text 
text text text text 
text text text text text text text text 
text text text text 
text text text text text text text text text text text text text text text text 
text text text text text text text text 
text text text text 

d1t01 - trackname 

d1t02 - trackname 

d1t03 - trackname 

d1t04 - trackname 

d1t05 - trackname 

d1t06 - trackname 

d1t07 - trackname 

d1t08 - trackname 

d1t09 - trackname 

d1t10 - trackname 

d1t11 - trackname 

text text text text 
text text text text text text text text 
text text text text text text text text text text text text 
text text text text 
text text text text text text text text 
text text text text 
text text text text text text text text text text text text text text text text 
text text text text text text text text 
text text text text 

मैं सिर्फ इस के साथ छोड़ दिया जाना चाहता हूँ

d[0-9]+t[0-9]+[0-9]+ - 

लेकिन मैं यह नहीं समझ सकता कि शेष "टेक्स्ट" को कैसे हटाया जाए और केवल उन पंक्तियों को छोड़ दें। मुझे "रिटर्न" को हटाने और पाठ फ़ाइल में किसी रिक्त रेखा के साथ छोड़ा जाने की भी आवश्यकता नहीं है।

धन्यवाद!

उत्तर

12

EDIT: आपको निम्न का उपयोग करने में सक्षम होना चाहिए।

Find: ^(?!d\w+).*\r?\n? 
Replace: 

नियमित अभिव्यक्ति:

^    the beginning of the string 
(?!   look ahead to see if there is not: 
    d    'd' 
    \w+   word characters (a-z, A-Z, 0-9, _) (1 or more times) 
)    end of look-ahead 
.*    any character except \n (0 or more times) 
\r?   '\r' (carriage return) (optional) 
\n?   '\n' (newline) (optional) 
4

hwnd का जवाब करीब है, लेकिन यह सब नई लाइनों को नहीं निकालेगा। आपने कहा कि आप सब पर फ़ाइल में किसी भी रिक्त लाइनों नहीं करना चाहते, तो यह एक अधिक पूर्ण समाधान होगा:^(?! घ [0-9] + टी [0-:

का पता लगाएं 9] +)। * \ r? \ n?

बदलें: - मैच लाइनों

इस मामले में, पाठ के अपने प्रारंभिक शरीर द्वारा

d1t01 - trackname 
d1t02 - trackname 
d1t03 - trackname 
d1t04 - trackname 
d1t05 - trackname 
d1t06 - trackname 
d1t07 - trackname 
d1t08 - trackname 
d1t09 - trackname 
d1t10 - trackname 
d1t11 - trackname 
0

चरण 1 बदल दिया जाएगा। संवाद> मार्क टैब खोजें, आप मेल खाने वाली रेखाओं को बुकमार्क कर सकते हैं।

चरण 2 - लाइनों को बुकमार्क या निकालें लाइनों को बुकमार्क न करें। खोज> बुकमार्क> अनमार्कित लाइन्स निकालें या बुकमार्क की गई लाइनें हटाएं