ऐसा करने का सबसे आसान तरीका एक रेगेक्स ढूंढना और प्रतिस्थापित करना है।
यह Search
टूलबार पर जाने या फिर चयन करने Replace...
, या कुंजी संयोजन CTRL+ का उपयोग करके किया जाता है H।
सुनिश्चित करें कि आपने Regular expression
नीचे दाईं ओर चयन किया है और सुनिश्चित करें कि . matches newline
अनियंत्रित है (यह रेगेक्स के लिए आवश्यक है)।
नोट: यह रेगेक्स समाधान यह मान रहा है कि प्रत्येक पंक्ति का एक अलग और पूर्ण तालिका नाम है (जैसा कि, कोई तालिका नाम कई लाइनों में विभाजित नहीं हैं और प्रत्येक पंक्ति में केवल एक एकल तालिका नाम है)।
निम्नलिखित को "खोजें" बॉक्स में डालें:
^(.*)
निम्नलिखित को "बदलें" बॉक्स में डालें:
--\1\nSELECT * FROM \1;
व्याख्या
रेग्ज स्ट्रिंग को निम्न प्रकार से तोड़ा जा सकता है:
यह ^
लाइन एंकर की एक शुरुआत है और यह सुनिश्चित करता है कि रेगेक्स प्रत्येक लाइन की शुरुआत से मेल खाता है। यह सुनिश्चित करता है कि यह गलती से अतिरिक्त लाइनों को नहीं उठाता है।
(.*)
समूह किसी भी चरित्र (मिलान करने के लिए प्रयोग किया जाता है .
) कितनी भी बार ( *
) और फिर उन का मिलान नहीं हुआ पात्रों की जगह स्ट्रिंग के लिए उपलब्ध बनाने के लिए ( ()
) के प्लेसहोल्डर प्रारूप का उपयोग कर $x
, x समूह संख्या (जो क्रमिक रूप से बढ़ जाती है के साथ, 1
किया जा रहा है पहला, 2
दूसरा और ऐसा ही होना)।
प्रतिस्थापित स्ट्रिंग को निम्नानुसार तोड़ा जा सकता है:
--\1
का उपयोग दो शाब्दिक -
वर्णों को मुद्रित करने के लिए किया जाता है , इसके बाद regex ( (.*)
समूह) में मिलान किए गए सभी वर्ण , जिनके स्थान पर डाले जाते हैं \1
।
इसका \n
उपयोग प्रतिस्थापित स्ट्रिंग में एक नई लाइन जोड़ने के लिए किया जाता है ( \r\n
आपके ऑपरेटिंग सिस्टम के आधार पर इसके बजाय इसका उपयोग करने की आवश्यकता हो सकती है, लेकिन मैं वर्तमान में इस धारणा पर चल रहा हूं कि \n
अकेले काम करेगा)।
SELECT * FROM \1;
सिवाय अनुभाग, देखा के रूप में स्ट्रिंग मुद्रित करने के लिए प्रयोग किया जाता है \1
से पहले के रूप में मिलान किया वर्णों से बदला गया है (जो तालिका नाम हो जाएगा)।