विजुअल स्टूडियो कोड - सभी रिक्त लाइनों को हटा दें - regex


133

मैंने विजुअल स्टूडियो कोड में सभी खाली लाइनों को हटाने का तरीका जानने की कोशिश में कुछ समय बिताया और मैं इसे काम नहीं कर सकता। किसी को पता है कि यह कैसे करना है कृपया?

अगर मैं ^$इसे खोज क्षेत्र में टाइप करते हुए खोजता हूं, तो VSC रिक्त लाइनों (पूरी तरह से रिक्त लाइनें, कोई सफेद स्थान नहीं है) का पता लगाता है, लेकिन जब मैं प्रतिस्थापन सभी को मारता हूं तो यह उन्हें हटा नहीं देता है। यह कुछ नहीं करता है: ^ $

रिक्त स्थान के साथ रिक्त स्थान के लिए ^\s+$खोज कार्य करती है, लेकिन यह उन्हें नहीं हटाती है। यह क्या करता है यह उन्हें रिक्त स्थान के बिना एक रिक्त रेखा के साथ बदल देता है :)) ^ \ रों + $

यह होना चाहिए कि मैं कुछ गलत कर रहा हूं। मैं अभी पता नहीं लगा सकता कि यह क्या है। किसी को पता है? धन्यवाद।


1
मैंने इस मुद्दे पर एक टिप्पणी जोड़ी जो आपने इस बारे में खोली थी, लेकिन किसी और के लिए, $वास्तव में नई लाइन के चरित्र से मेल नहीं खाती, यह शून्य-चौड़ाई वाले टोकन से मेल खाती है जो नई लाइन के चरित्र से पहले मौजूद है। एक नई पंक्ति को बदलने के लिए जिसका आपको उपयोग करने की आवश्यकता है \nलेकिन वीएस कोड वर्तमान में मल्टी-लाइन रेगेक्स मैचों ( # 313 ) का समर्थन नहीं करता है
मैरी

धन्यवाद मैरी। लगता है हमें कुछ देर रुकना होगा।
जोजफेक

4
इसे रेगेक्स मोड में खोजें ^ $ \ n और रिक्त के साथ बदलें भी ठीक काम करेगा। हैप्पी कोडिंग !!!
सजल राजभोज

जवाबों:


194

उन लोगों के लिए जो दिलचस्पी ले सकते हैं - मेरे लिए 1.3.1 संस्करण में काम किया (और अभी भी 1.33.1 में काम करता है) उन खाली लाइनों को हटाने के लिए जिन्हें मैंने इस्तेमाल किया ( ctrl+ hखोजें और बदलें) alt+r (नियमित अभिव्यक्ति का उपयोग करें)

खोज बॉक्स में तब:

\n\n

बदलें बॉक्स में:

\n

यह एक में लाइन संकेतों के दो लगातार अंत बनाना चाहिए।

संपादित:

यदि आपको एक साथ अधिक खाली लाइनों (दो से अधिक) को बदलने की आवश्यकता है, तो आप खोज बॉक्स में नियमित अभिव्यक्ति का उपयोग कर सकते हैं:

\n+

यदि आपको व्हाट्सएप के साथ खाली लाइनों को भी बदलने की आवश्यकता है, तो आपको बॉक्स में नियमित अभिव्यक्ति का उपयोग करने की आवश्यकता है:

\n+\s*\n

VS कोड जावास्क्रिप्ट रेगुलर एक्सप्रेशन का उपयोग कर रहा है


10
इन पंक्तियों के साथ, मैं उपयोग करता हूं^[\r\n]{3,}
आरजे

अब यह काम कर रहा है। धन्यवाद :) बीच में VSC के कई संस्करण, लेकिन यह ठीक है। बदलें \ n \ n के साथ \ n ने अच्छा काम किया।
जोजफेक

नीचे दिए गए @Dzumret समाधान को भी देखें। मेरे समाधान में यह केवल उन लाइनों को हटाता है जहां कुछ भी नहीं है। उसका हल उन लाइनों को हटा देता है जहाँ कुछ
व्हाट्सएप

यह उत्तर सभी मामलों को नहीं लेता है, क्या होगा यदि आपके पास रिक्त पंक्ति में रिक्त स्थान है
dhaker

1
महान! एक से अधिक खाली लाइनों को हटाने के लिए मैंने \ n + को \ n से बदल दिया। व्हॉट्सएप के लिए एक्यूकंट को भी बदलें (^ \ s * \ n) + कुछ नहीं के साथ
इलारियो

114

क्या काम करता है यह regex पैटर्न है:

^\s*$\n

फिर CTRL+Enterसभी लाइनों को बदलने के लिए।

उपरोक्त पैटर्न की व्याख्या:

-----------------------------------------------
|  ^ | beginning of string anchor             |
-----------------------------------------------
| \s | any whitespace character               |
-----------------------------------------------
| '*'| zero or more repetitions               |
-----------------------------------------------
|  $ | end of string anchor                   |
-----------------------------------------------
| \n | new line                               |
-----------------------------------------------

निश्चित नहीं है, लेकिन केवल इसने मेरे लिए काम किया, अन्य सभी उत्तरों की तुलना में। अच्छी तरह से समझाया। धन्यवाद।
साईं

\nएंकरों के बाहर रखने से मेरे लिए काम होता है। VSCode ने तब इसे कुछ भी नहीं बदलने दिया (रिक्त "प्रतिस्थापित" फ़ील्ड) के साथ।
एरिक

46

विजुअल स्टूडियो कोड 1.13.0 लिनक्स लाइट:

  • मारो CTRL+H
  • "रेगुलर एक्सप्रेशन का उपयोग करें" चुनें
  • बॉक्स ढूंढें: ^ (\ s) * $ \ n (आपकी आवश्यकता के अनुसार कई समाप्ति \ n दर्ज करें)
  • बॉक्स बदलें: खाली
  • सभी को बदलें पर क्लिक करें

खाली पड़ी लाइनें!


18

यहां मेरा रेगेक्स है, यह सभी अतिरिक्त नई लाइनों और खाली लाइनों को पकड़ता है जिसमें केवल स्थान, टैब आदि होते हैं

\n\s*\n

और मैं सभी मैचों की जगह लेता हूं \n

व्याख्या

\n       : New Line
\s*      : Zero or more consecutive white space characters or new lines
\n       : Another New Line

पुनश्च: खोज विंडो में regex विकल्प चुनने के लिए याद रखें !!


13

VS कोड के बदले संवाद में ^ \ n * \ n का उपयोग करने का प्रयास करें -

यहाँ देखें


6

नहीं, आप इसे सही कर रहे हैं।

मुझे यहाँ वही व्यवहार मिलता है।

मैंने एक और रेगेक्स की भी कोशिश की: (\r?\n){2,} लेकिन ऐसा लगता है कि यह केवल एकल लाइनों के लिए काम करता है।

हो सकता है कि डिफ़ॉल्ट regexp व्यवहार को बदलने के लिए कोई प्राथमिकता हो, या शायद VS केवल इस तरह से बनाया गया है (पंक्ति आधारित)

-कोर्स में किसी दूसरे टेक्स्ट एडिटर से कट-पेस्ट और बैक करना कोई बड़ी बात नहीं है।


3
जब मैंने सभी ^\s*$को खाली करने के बाद ही मेरी मदद की , तब मैंने कोशिश की(\r?\n){2,}
मिहाई पोपस्कु

4

मैं तुम्हारे बारे में नहीं जानता, लेकिन समय की बर्बादी के लिए मेरे लिए बहुत सारी आज्ञाएँ याद करता हूँ!

विस्तार का उपयोग करें "खाली लाइन आयोजक", यहां विवरण है:

यह एक्सटेंशन आपको कई रिक्त लाइनों को हटाकर कोड में रिक्त लाइनों को व्यवस्थित करने में मदद करेगा। एक्सटेंशन रिक्त लाइनों को केवल चयनित लाइनों से हटाता है यदि कोई हो, अन्यथा पूरी फ़ाइल से

इसका उपयोग कैसे करें: विस्तार के विवरण की जांच करें, लेकिन यह वास्तव में अच्छा है!

blankLine.triggerOnSave boolean true    If set to true, the command will be triggered on save.

दूसरे शब्दों में, फ़ाइल को सहेजने के बाद, यह स्वचालित रूप से साफ हो जाता है!


हाय @ जान! Sublime Text3 wich का उपयोग करके Im ने बहुत सारी समस्याओं को हल कर दिया है, प्लस हल्का है और इसमें कुछ अच्छी विशेषताएं हैं।
Marcelo Agimóvel

Sublime Text3 के साथ आप किस प्लगइन का उपयोग करते हैं? मैंने वेबस्टॉर्म का उपयोग किया और इसे बनाया गया है।
Jun711

Html / CSS / JS Prettify
Marcelo Agimóvel

3

मुझे विजुअल स्टूडियो में मेरे लिए निम्नलिखित कार्य सबसे अच्छे लगे:

बदलें: ^\n$ साथ: <no value here>

इससे सभी खाली लाइनें मिलेंगी और उन्हें साफ किया जा सकेगा।


3

मेरे मामले में। kobi7 समाधान (\r?\n){2,}केवल मेरे लिए काम करता है, मुझे इसे एकल लाइनों के लिए काम करने के लिए छोटे संशोधन के साथ फिर से चलाना पड़ा (बस 1 साल बदला)

^(\r?\n){1,}

0

कोड नौकरानी एक्सटेंशन आप सभी की जरूरत है आप अपनी फ़ाइल को साफ करने के लिए शॉर्टकट M M + Space बार का उपयोग कर सकते हैं, यह खाली लाइनों को हटा देगा और आपके कोड को प्रारूपित करेगा। आप प्रारूप और सफाई नियम के बारे में भी कॉन्फ़िगर कर सकते हैं। आशा है कि यह उपयोगी है।


नहीं मिला (मंज़रो लिनक्स पर)।
मार्सेलो एग्मोवेल

2
ऐसा इसलिए है क्योंकि यह एक विजुअल स्टूडियो एक्सटेंशन है न कि विजुअल स्टूडियो कोड एक्सटेंशन।
रेने ज्यूस



-1

बदलें: ^ \ n $ साथ: "रिक्त स्थान"


और अपने दस्तावेज़ में हर खाली जगह को हटा दें?
गुस्सा 84

-4

विंडोज 10, विजुअल स्टूडियो 2015

Ctrl + H

खोजें ... -> ^ \ s *

सबको बदली करें

Ctrl + A

Ctrl + K + F

आपके प्रश्न के लिए धन्यवाद, मैंने कुछ नया सीखा।


5
विजुअल स्टूडियो 2015 विज़ुअल स्टूडियो कोड नहीं है।
राबर्ट कौचर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.