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\n
innymi 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 \n
zamiast \r\n
EOL dla Unix / OS X.
Użyj \r
zamiast \r\n
EOL dla Mac OS (do wersji 9)
Możesz użyć \R
lub (?:\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.
\r
nie pasuje do EOL w systemie Windows. Po usunięciu \n
pozostaną 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.
.