Jak mogę zamienić puste linie w Notepad ++? Próbowałem znaleźć i zastąpić pustymi liniami w znalezieniu i nic w zamianie, ale to nie zadziałało; prawdopodobnie potrzebuje wyrażenia regularnego.
Jak mogę zamienić puste linie w Notepad ++? Próbowałem znaleźć i zastąpić pustymi liniami w znalezieniu i nic w zamianie, ale to nie zadziałało; prawdopodobnie potrzebuje wyrażenia regularnego.
Odpowiedzi:
Potrzebujesz czegoś w rodzaju wyrażenia regularnego.
Musisz być w Extended
trybie
Jeśli chcesz, aby wszystkie linie kończyły się na jednej linii, użyj \r\n
. Jeśli chcesz po prostu usunąć puste linie, użyj \n\r
jak pierwotnie sugerowano @Link.
Zastąp oba wyrażenia niczym.
\r\n\r\n
i zastąpić je \r\n
.
\r\n\W*\r\n
i zamień na\r\n
(\r\n|\r|\n)(\s*(\r\n|\r|\n))+
i zastąpić \r\n
go zobaczyć w akcji tutaj: regex101.com/r/qD9dB1/1
Istnieje teraz wbudowany sposób, aby to zrobić od wersji 6.5.2
Edit -> Line Operations -> Remove Empty Lines
lub Remove Empty Lines (Containing Blank characters)
Istnieje wtyczka, która dodaje menu zatytułowane TextFX
. To menu, w którym znajduje się oszałamiająca gama opcji szybkiej edycji tekstu, daje osobie możliwość szybkiego wprowadzania zmian w kodzie. W tym menu możesz znaleźć takie opcje, jak Usuń cytaty, Usuń puste linie, a także Rozpakuj i zawiń tekst
Wykonaj następujące czynności:
TextFX > TextFX Edit > Delete Blank Lines
TextFX > TextFX Edit > Delete Surplus Blank Lines
TextFX > TextFX Tools
, jest sortowanie linii, opcjonalnie usuwanie duplikatów. Bardzo przydatny sposób wykonywania Uniksa sort -u
na Windowsie bez cygwina, unxutils lub podobnego.
Settings > Import > plugin...
i znajdź plik dll, aby go zainstalować. Staje się pozycją menu przezPlugins
^[ \t]*$\r?\n
znajdź co, pozostaw zamień puste. Spowoduje to dopasowanie wszystkich wierszy zaczynających się od białej spacji i kończących się znakiem powrotu karetki (w tym przypadku Windows CRLF)^\R
(dokładnie puste linie) lub ^\h*\R
(tylko puste linie ze spacjami).To działało dla mnie:
ctrl + h
(skrót do zamiany)find what
polu.
[\n\r]+$
lub^[\n\r]+
Replace with
pole pusteSearch Mode
wybierzRegex
Replace All
W notatniku ++ naciśnij CTRL + H, w trybie wyszukiwania kliknij przycisk opcji „Rozszerzony (\ n, \ r, \ t ...)”, a następnie wpisz pole „Znajdź co”: \ r \ n (skrót od CR LF ) i pozostaw pole „Zamień na” puste.
Na koniec naciśnij przycisk Zamień wszystko
\n
.
Ctrl + H.
znajdź - \ r \ r zamień na - \ r.
To oczywiście nie działa, jeśli puste linie zawierają tabulatory lub spacje. Wiele stron internetowych (np. Http://www.guardian.co.uk/ ) zawiera te białe linie w wyniku wadliwego edytora HTML.
Usuń białe znaki, używając wyrażenia regularnego w następujący sposób:
zmień wzór: [\ t] + $ w nic.
gdzie [\ t] pasuje do tabulacji lub spacji. „+” odpowiada jednemu lub więcej wystąpieniom, a „$” oznacza koniec linii.
Następnie użyj notatnika ++ / textFX, aby usunąć pojedyncze lub dodatkowe puste linie. Upewnij się, że te puste linie nie są znaczące w danym kontekście.
1) Ctrl + H
(Lub Search 🠆 Replace..
), aby otworzyć okno Zamień.
2) Wybierz 'Search Mode'
„Wyrażenie regularne”
3) W "Znajdź Co typ ^(\s*)(.*)(\s*)$
& w „Zamień na” typ\2
^
- Dopasowuje początek znaku linii(\s*)
- Dopasowuje puste znaki spacji(.*)
- Pasuje do dowolnych znaków(\s*)
- Dopasowuje puste znaki$
- Dopasowuje znak końca linii\2
- Oznacza pasującą pozycję drugiego nawiasuWięcej informacji na temat regex można znaleźć na stronie https://www.rexegg.com/regex-quickstart.html .
^\r\n
z niczym (wybierz wyrażenie regularne)Uwaga: krok 1 usunie twoją intencję kodu wykonaną za pomocą tabulatorów i spacji
CTRL + A, wybierz menu TextFX -> Edycja TextFX -> Usuń puste linie, jak to sugeruje powyżej.
Ale jeśli linie zawierają trochę spacji, przesuń kursor do tej linii i wykonaj CTRL + H. Sek. „Znajdź co:” pokaże puste miejsce, aw sekcji „Zamień na” pozostaw puste. Teraz wszystkie spacje zostały usunięte i teraz spróbuj CTRL + A, wybierz menu TextFX -> Edycja TextFX -> Usuń puste linie
Nie widziałem połączonej jako odpowiedzi, więc wyszukaj ^ \ s + $ i zastąp {{}}
^\s+$ means
^ start of line
\s+ Matches minimum one whitespace character (spaces, tabs, line breaks)
$ until end of line
^\s+^(\S)
i zastąpić je \1
.
ta praca dla mnie:
SEARCH:^\r
REPLACE: (empty)
\n
i Windows EOL\r\n