W Notepad ++ mam wiele wierszy w formacie:
abc.xyz
gdzie „abc” może mieć spację lub - lub cyfry.
Jak usunąć linie bez „.”? Więc jeśli linia nie ma żadnego „.”, Chcę, aby została całkowicie usunięta, nawet nie zostawiaj pustej linii.
W Notepad ++ mam wiele wierszy w formacie:
abc.xyz
gdzie „abc” może mieć spację lub - lub cyfry.
Jak usunąć linie bez „.”? Więc jeśli linia nie ma żadnego „.”, Chcę, aby została całkowicie usunięta, nawet nie zostawiaj pustej linii.
Odpowiedzi:
.?Menu „Szukaj”> „Zamień” (lub Ctrl+ H)
Ustaw „Znajdź co” na ^[^\.]*\r\n
\r\ninnymi wyrażeniami regularnymi EOL (End of Line) w zależności od EOL w twoim pliku (patrz „Mam inne EOL w moim pliku, co mogę zrobić?” I „Nie dbam o to, jakie EOLs używa mój plik , co mogę zrobić? ”poniżej).Wyczyść „Zamień na”
Włącz „Wyrażenie regularne”
Kliknij „Zamień wszystko”
Uwagi:
Powyższe zakłada, że ostatni wiersz w pliku ma końcowe EOL.
Powyższy również zakłada, że edytujesz plik tekstowy z EOLs Windows \r\n.
Przed :
abc.xyz
abcdef
abc 123.xyz
abc 123def
Po :
abc.xyz
abc 123.xyz
Windows EOL to \r\n.
Jeśli używasz plików z innym EOL, możesz przekonwertować je na Windows EOL za pomocą Menu „Edycja”> „Konwersja EOL”.
Jeśli nie pracujesz z Windows EOL i nie chcesz ich konwertować, użyj następujących poleceń:
Użyj \nzamiast \r\nEOL dla Unix / OS X.
Użyj \rzamiast \r\nEOL dla Mac OS (do wersji 9)
Możesz użyć \Rlub (?:\r\n?|\n)lub (?:\r?\n?)zamiast \r\n. Pozwala to obejść każdy problem z EOL faktycznie używanymi w pliku.
Możesz także użyć (?:\r?\n?|$). To wyrażenie będzie działać, jeśli w ostatnim wierszu pliku nie ma EOL.
\rnie pasuje do EOL w systemie Windows. Po usunięciu \npozostaną puste linie. OP stwierdził: „Chcę go całkowicie usunąć, nawet nie zostawiać pustej linii”.
Przyjęta odpowiedź jest poprawna, ale nie zawsze będziesz mieć gotowy wyrażenia regularne. Przedstawiam więc prostsze rozwiązanie.
.