Notepad ++ Usuń linie za pomocą funkcji Znajdź i zamień

12

Czy ktoś wie, jak usunąć wiersz za pomocą funkcji Znajdź i zamień w Notepad ++?

W moim zapytaniu Find znajduje właściwe wiersze w porządku: ^. pPrev. $ W polu Zamień pozostawiam puste, myśląc, że wiersz powinien zostać usunięty (tzn. Zastąpiony niczym), ale znaki nowej linii i linii końcowej pozostają.

Jim Fell
źródło

Odpowiedzi:

11

Użyj ustawienia „Rozszerzone” w oknie Zamień (nie „Wyrażenie regularne”: Jestem pewien, że można to zrobić za pomocą wyrażenia regularnego, ale użycie „Rozszerzonego” działa dobrze).
Wpisz „ .pPrev.\r\n” w polu „Znajdź co” i pozostaw pole „Zamień co” puste. Obejmuje to znaki \ r \ n w dopasowaniu i usuwa całą linię.

Pączek
źródło
1
Nie działa już w późniejszych wersjach Notepad ++ (testowane w wersji 5.9.2 UNICODE)
dtech
Wygląda na to, że ciągną dobre funkcje z Notepad ++. Najpierw wtyczka FunctionList, a teraz to. :(
Jim Fell
wciąż pracuje. Jeśli nie, najpierw usuń \ n, a następnie usuń \ r
user4951
Przybyłem tutaj, szukając informacji na temat usuwania podziałów linii i \ r \ n działało dla mnie jak urok. Dzięki!
mabho
2

Korzystanie z opcji „Wyszukiwanie wyrażeń regularnych” w oknie Znajdź i zamień:

Zdefiniuj szukany ciąg wyrażenia regularnego i dołącz do niego \xd?\xaznaki „końca linii”.

Jeśli chcesz usunąć te hamulce linii, pozostaw łańcuch Zastąp pusty.

Zauważ, że znak powrotu karetki jest opcjonalny ( \xd?), ponieważ możesz mieć linie kończące się bez znaku powrotu karetki i tylko znak przesunięcia linii \xa.

WingTillDie
źródło
To zadziałało dla mnie, gdy inne odpowiedzi (dotyczące Notepad ++) nie zadziałały. Korzystam z wersji 7.5.1
id.ot
1

Możesz faktycznie wybrać nowy wiersz, przesuwając kursor z końca jednego wiersza na początek następnego:

first line(from here)
(to here)decond line
third line

Następnie naciśnij ctrl + h, gdy nowy wiersz jest zaznaczony, i zamień na nic. Spowoduje to usunięcie wszystkich nowych linii.

Benjamin Crouzier
źródło
0

Ogólną zasadą używanego edytora jest to, że musisz uwzględnić nowe znaki wiersza ( \r\nzakładając zakończenia linii Windows) w wyszukiwaniu, aby zostały one uwzględnione w zamianie, a tym samym usunięte.

W Notepad ++ jest to nieco bardziej mylące przez 2 różne polecenia wyszukiwania i zastępowania. Szczegółowe informacje można znaleźć na tej stronie Wiki: Zastępowanie znaków nowej linii w Notepad ++

Miałem pod ręką tylko starą wersję Notepad ++, więc musiałem użyć wyszukiwania rozszerzonego (dostęp za pośrednictwem ^ R), upewniając się, że nie zaznaczono opcji Regular Expr i używając ^ M, aby wstawić nowy znak wiersza w polu Znajdź. Jeśli jednak upewnić się, że używasz Notepad ++ 4.9 lub nowszy powinien być w stanie używać \ri \nw trybie regexp.

mikej
źródło
Nie mogę używać \rani \nw trybie RegEx (wersja 5.8.6). Dla mnie działają tylko w trybie rozszerzonym.
Justin
0

Nie jestem pewien co do Notepad ++, ale zawsze możesz to zrobić za pomocą gVim. Polecenie wygląda następująco:

%g/^.pPrev.$/d

Możesz pobrać gVim tutaj, jeśli jeszcze go nie masz.

JJ01
źródło