Próbuję się wszystkiego pozbyć po kolumnie w Notepad ++. Tryb kolumny nie jest opcją. Czy to możliwe?
Co ja mam:
70.97.110.40 159 ms [n/a] 21
70.97.117.177 134 ms [n/a] 21
70.97.120.10 75 ms [n/a] 21
70.97.122.105 87 ms www.portless.net 21
70.97.122.106 89 ms www.popovetsky.org 21
70.97.122.107 95 ms www.psmythe.net 21
70.97.122.104 98 ms wasabi.prostructure.com 21
70.97.122.108 89 ms crm.prostructure.com 21
70.97.122.109 87 ms internal.prostructure.com21
Czego chcę:
70.97.110.40
70.97.117.177
70.97.120.10
70.97.122.105
70.97.122.106
70.97.122.107
70.97.122.104
70.97.122.108
70.97.122.109
Odpowiedzi:
Jeśli dane w pierwszej kolumnie nigdy nie zawierają spacji, możesz użyć wyrażenia regularnego znajdź i zamień, aby uzyskać to, czego chcesz.
W trybie wyrażeń regularnych wyszukaj:
I zamień na
Co to robi:
^
wskazuje, że każde dopasowanie powinno rozpoczynać się na początku linii.([^ ]*)
to dowolne wyrażenie, które nie zawiera spacji. Dopasowanie jest zachłanne, więc dopasuje wszystko do pierwszej spacji (lub końca linii, w zależności od tego, co nastąpi wcześniej)..*
jest wszystko inne na linii.\1
odnosi się do części dopasowania w nawiasach. Oznacza to, że cała linia jest zastępowana tylko bitem z pierwszej kolumny.źródło
Oto prostsze wyrażenie regularne, którego możesz użyć, aby osiągnąć ten sam efekt. Zastąpić
(zwróć uwagę na wiodące miejsce)
z niczym. Spowoduje to usunięcie wszystkiego po pierwszej spacji włącznie. Będzie to działać, o ile adresy IP nigdy nie będą poprzedzone żadnymi białymi spacjami (jak ma to miejsce w twoim przykładzie).
źródło
[ \t].*
\s.*
jest krótszy. Może nawet użyj\s+.*
, aby dopasować dowolną ilość białych znaków, teraz, gdy kodujemy defensywnie .Jeśli używasz systemu Windows i nie przeszkadza ci końcowe spacje (możesz je później znaleźć / zamienić), użyj funkcji Blokuj wybór :
źródło
Wyrażenie regularne jest szybsza, ale można zrobić kilka naprawdę trudnych rzeczy z makr, czy jest to bardziej skomplikowane zadanie.
Możesz zarejestrować makro:
Następnie odtwórz:
źródło
Umieść kursor za
70.97.110.40
.Naciśnij Alti przeciągnij kursor w prawo i w dół, aby wybrać niechcianą część.
Naciśnij Backspacelub Delete.
źródło
Oto kilka alternatywnych metod dla podanej odpowiedzi.
Jeśli masz dane
fixed width
, możesz również użyć następującego wyrażenia regularnego w wyszukiwaniu:Znajdź co:
^(.{16}).*$
Zamienić:
\1
Wspaniale jest, jeśli dane, które chcesz zachować, zawierają spację, jak ktoś wspomniał. Dodatkowo, ponownie dla danych o stałej szerokości, możesz użyć
Column Mode Editing
. Jest to fajna mała funkcja, która pozwala edytować wiele linii danych w tej samej lokalizacji kolumny. Zobacz Edycja w trybie kolumnowym .Wymienia klawisze strzałek, ale można także użyć
Page Up/Down
do szybszej metody, a także klawiszyEnd
iHome
. Mysz również działa. Ale możesz użyć tego do ad hoc metody usuwania danych po pewnym momencie, szczególnie jeśli jest to tylko kilka wierszy. Jest również dobry do kopiowania danych, ale sposób wklejania jest nieco dziwny, więc najpierw musisz się do tego przyzwyczaić.źródło
Podobne do enthdegree:
Jeśli na końcu pliku jest pusta linia, po prostu naciśnij Up Arrowprzed # 3.
To nie jest idealne, ale jest przydatne.
źródło
źródło
Oto sposób wizualny:
To nie jest „oparte na kolumnie”. Działa tylko dlatego, że wszystkie adresy IP są ustawione w jednej linii.
źródło
W trybie wyrażeń regularnych wyszukaj:
\ t. *
I zamień na
Nic
źródło
Usuń wszystko po pierwszej kolumnie w Notepad ++:
źródło