Usuń puste wiersze w tekście przy użyciu programu Visual Studio


Odpowiedzi:


174

Ponieważ program Visual Studio 2012 zmienił składnię wyrażenia regularnego, oryginalne odpowiedzi Ala przekładają się na następujące w VS 2012:

Usuń pojedyncze puste linie

Stary:

^:b*$\n

Nowy:

^(?([^\r\n])\s)*\r?$\r?\n

Visual Studio 2013 (dzięki BozoJoe i Joe Johnston):

^\s*$\n

Usuń podwójne puste linie

Stary:

^:b*\n:b*\n

Nowy:

^(?([^\r\n])\s)*\r?\n(?([^\r\n])\s)*\r?\n

Zsuwa się z języka.

Oto arkusz konwersji z MSDN.


13
vs2013: ^ \ s + $ \ n
BozoJoe

Odpowiedź BozoJoe, dla mnie, działała dobrze również w VS2012 (aktualizacja 4)
BertuPG,

5
^ \ s + $ \ n zmieniono na ^ \ s * $ \ n zezwalaj na (bez zawartości) czyste wysunięcia wiersza.
Joe Johnston,

4
Jak mogę to uczynić zautomatyzowanym, jak praca z CTRL + K + D?
ErTR,

Czy to ma działać dla ciągów czy dla kodu w edytorze?
Kyle Delaney,

114

Jest to bardzo przydatne zwłaszcza jeśli chcesz uporządkować lub porównać kody, dzięki dla osób, które odpowiedzą na to pytanie, odpowiedź mam stąd i nią podzielić ze Stackoverflow:

Program Visual Studio ma możliwość usuwania pustych wierszy podczas operacji zamiany przy użyciu wyrażeń regularnych.

  • Kliknij Ctrl- H(szybka wymiana)

  • Zaznacz „Użyj wyrażeń regularnych”

  • W Znajdź określ ^$\n

  • W polu Zamień usuń wszystko.

  • Kliknij „Zamień wszystko”

Wszystkie puste wiersze zostaną usunięte.

Wyrażenie regularne dla pustego wiersza składa się z

Początek wiersza ^

Koniec linii $

Przerwanie linii \n

Zauważ, że zwykle w systemie Windows koniec linii oznaczony jest 2 znakami - Powrót karetki (CR, ASCII 13, \r) Przesuw wiersza (LF, ASCII 10, \n).

Wyrażenie regularne do usuwania pustych wierszy, które są / nie są tak naprawdę puste (tj. Zawierają / nie mają spacji): ^:b*$\n

Aby usunąć podwójne linie: ^:b*\n:b*\nzamień na:\n

* dla Visual Studio 2013 i nowszych: *

^\s*$\n

a dla linii podwójnych:

^(?([^\r\n])\s)*\r?\n(?([^\r\n])\s)*\r?\n

Zobacz aktualizacje składni wyrażeń regularnych dla VS2012 i nowszych w odpowiedzi @ lennart poniżej


Działa jak urok z czyszczeniem pliku XML w programie Visual Studio 2015. Czy ktoś wie, jak utworzyć skrót, aby to wykonać?
Leszek P

1
w przypadku programu Visual Studio 2012 i nowszych sprawdź odpowiedź poniżej
Alaa

1
Czy istnieje sposób, aby to zadziałało z automatycznym formatyzatorem?
Kyle Delaney,

19

W programie Visual Studio 2013 (wersja 12.0.20623.01) usunąłem puste wiersze za pomocą tego wyrażenia regularnego. ^\r\nNa ekranie widać dopasowane linie oznaczone brązowymi kwadratami.

Visual Studio 2013 zastępuje puste wiersze


Ja też próbowałem, ale studio wizualne zamarzło na kilka minut, a potem zastąpiło tylko jedno wystąpienie z kilkuset, które mam! lol :-D
BertuPG


17

Korzystanie z programu Visual Studio 2017 i nowszych wersji

w bieżącym dokumencie

użyj skrótu

  • Otwórz Narzędzia > Opcje lub naciśnij Alt+ T+O
  • Na karcie Środowisko > Klawiatura
  • Wyszukaj „ DeleteBlank ” i wybierzEdit.DeleteBlankLines
  • Dodaj nowy skrót, na przykład Ctrl+ D, Ctrl+E
  • Przypisz > OK

zaznacz cały tekst i naciśnij skrót

wprowadź opis obrazu tutaj


Spowoduje to tylko usunięcie wybranych pustych linii lub z bieżącego wiersza do następnego niepustego wiersza. Nie dotyczy całego dokumentu lub projektu.
Sty

1
Spróbuj wybrać wszystko przed uruchomieniem polecenia, a wtedy zadziała.
Kris Morness

9

Aby usunąć dwa lub więcej sąsiednich pustych wierszy za pomocą VS2012, użyj tego:

^(?([^\r\n])\s)*\r?$\r?\n^(?([^\r\n])\s)*\r?$\r?\n

Szukałem rozwiązania, które pozwoliłoby zamienić dwie puste linie na jedną. Mi to pasuje. Dzięki!
Ricardo França

8

Używam Visual Studio 2017, żadne z powyższych nie działało, dopóki nie spróbowałem \n\r

Kroki:

  1. Ctrl + H (otwiera znajdź i zamień)
  2. Wybierz użyj wyrażenia regularnego (Alt + E)
  3. Wejdź \n\rw pole „Znajdź ...”
  4. Naciśnij zamień


2

Zainstaluj CodeMaid i naciśnij też Ctrl+M, Space' to clean up the code. (It formats the code, like Format DocumentCtrl + E, D`). Możesz wyczyścić więcej plików z Eksploratora rozwiązań.


1

W VS 2012 ciąg wyrażenia regularnego używany do znajdowania i zastępowania wszystkich pustych wierszy to ^ (? ([^ \ R \ n]) \ s) \ r? \ N


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.