Notepad ++ 'daki ilk sütundan sonra her şeyi nasıl silebilirim?


40

Notepad ++ 'daki bir sütundan sonra her şeyden kurtulmaya çalışıyorum. Sütun modu bir seçenek değildir. Mümkün mü?

Neyim var:

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 

İstediğim:

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

2
Sütunlar sekmeyle ayrılmış mı?
Excellll

3
Bir soru daha: Saklamak istediğiniz verilerde hiç boşluk var mı?
Excellll

1
hayır ben sadece ips gerekir
Bob J

20
Neden bunu notepad ++ 'da yapmak istiyorsun? Sütun modu neden bir seçenek değildir?
Kamil

1
EOL'ye ikinci sütunu silmek için sütun modunu kullanabilir ve ardından Boşluktan kurtulmak için Kırpma İzlemeyi ve kaydetmeyi kullanabilirsiniz.
Casey Kuball

Yanıtlar:


60

İlk sütundaki veriler hiçbir zaman boşluk içermiyorsa, istediğinizi elde etmek için normal ifade bulma ve değiştirme komutunu kullanabilirsiniz.

Normal ifade modunda şunları arayın:

^([^ ]*).*

Ve ile değiştirin

\1

Bu ne yapar:

^herhangi bir eşleşmenin satır başında başlaması gerektiğini belirtir.
([^ ]*)boşluk içermeyen herhangi bir ifadedir. Maç açgözlü, bu yüzden her şey ilk boşluğa kadar (veya çizginin sonu, hangisi önce gelirse) eşleşecek.
.*hattaki diğer her şey.

\1eşleşmenin parantez içindeki kısmını ifade eder. Yani, satırın tamamı ilk sütundan yalnızca bit ile değiştirilir.


5
Notepad ++ 'un arama yerine normal ifadeleri desteklediğini bilmek güzel!
Kamil

1
Regex, veriler hiçbir zaman boşluk içermediği sürece sizin için işi yapar. Daha basit UNIX 'cut' komutu olurdu, ancak windows altında UNIX komutları yapmak sorun değil. bunun için kesim yapılır ve büyük dosyaları hızlı bir şekilde, tanımlanmış sütun sınırlayıcılarla veya karakter sayımlarıyla işler.
Karl

31
Bu çok daha kolay bir şekilde yapılabilir: ilk boşluktan sonraki ve sonraki her şeyi silmek için ". *" (Baştaki boşluğu not edin) ile "" (yani hiçbir şey) ile değiştirin.
Fraxtil

2
@Fraxtil Teşekkürler. Bunu bir cevap olarak göndermelisin. Benden bir oy alacaksın.
Excellll

@ Excelcel tamam, bitti.
Fraxtil

99

İşte aynı etkiyi elde etmek için kullanabileceğiniz daha basit bir düzenli ifade. değiştirmek

 .*

(baştaki boşluğa dikkat edin)

hiçbir şey ile. Bu, ilk boşluktan sonraki ve sonraki her şeyi silecektir. IP adresleriniz hiçbir zaman herhangi bir boşlukla ön eklenmediği sürece bu işe yarar (örneğinizde olduğu gibi).


8
Dostum, regex saf sihirdir. Hiç
yıpranmayacağımı sanmıyorum

14
Bayrak olduğundan emin olun. maç yeni satırlar kapalı.
Taemyr

3
Potansiyel bir boşluk yerine sekme olması durumunda, kullanabilirsiniz[ \t].*
Cornstalks

4
@Cornstalks \s.*daha kısa. Belki de \s+.*bir savunma alanını kodladığımızdan beri, isteğe bağlı miktarda boşlukla eşleştirmek için bile kullanıyoruz .
Anko,

1
@ jpmc26 bir cümle içinde "regex" ve "basit"
demediğiniz sürece

39

Windows kullanıyorsanız ve takip eden boşlukları dikkate almıyorsanız (bunları daha sonra bulabilir / değiştirebilirsiniz), Blok Seçme özelliğini kullanın :

  1. Basın ve Tut Alttuşuna
  2. Fareyi kullanarak, silinecek kısmı seçin (tüm metin bloğu)
  3. AltAnahtarı bırakın
  4. Bu metin bloğunu sil
  5. Gerektiği kadar tekrarla

Bunun eksi "-" anahtarı olması mı gerekiyor?
Dracs

Üzgünüm - 'alt' tuşunun etrafında LT ve GT parantezlerini kullandım. Şimdi düzeltildi.
Reed,

10
Bunu <kdb> Alt </kbd> olarak değiştirebilirsiniz; anahtar olarak biçimlendirecektir.
Dracs

Sonsuza dek Not Defteri kullanıyorum .... ve bu özelliğin var olduğunu asla bilmiyordum! 1 Bazillion +1 !!!!!

1
OP: "Sütun modu bir seçenek değildir"
Peter Mortensen

11

Bir düzenli ifade hızlıdır, ancak daha karmaşık bir iştir eğer makrolarıyla bazı gerçekten zor şeyler yapabilir.

Bir makro kaydedebilirsiniz:

  1. 1. satırdaki imleç
  2. Hit Başlat Kaydı
  3. Ev tuşuna basın
  4. CtrlTuşa basarken basılı tutun Right arrow(yedi kez)
  5. ShiftTuşuna basarken basılı tutun.End
  6. tuşa basınız Delete
  7. tuşa basınız Down arrow
  8. hit Stop recording

O zaman oynat:

  1. "Makroyu birden çok kez çalıştır" ı tıklayın.
  2. İlk satır tamamlandığı için belgenin eksi 1 satırlarını yazın.

9

İmleci sonrasına yerleştirin 70.97.110.40.

İmleci yerleştir

Basın Altve istenmeyen kısmını seçmek için aşağı doğru imleci sürüklemek ve.

seçmek

BackspaceVeya düğmesine basın Delete.

Sil


1
Bunca zamandır Notepad ++ kullanıyordum ve TextPad gibi bir "Blok Seçme Modu" olduğunu bilmiyordum.
Kev

@Kev: Visual Studio'da da aynı şekilde çalışır.
Peter Mortensen

1
OP: "Sütun modu bir seçenek değildir"
Peter Mortensen

@PeterMortensen - re: VS - cehennem, bunu 2002'den beri kullanıyor ve bilmiyordum!
Kev

8

İşte verilen cevaba alternatif yöntemler.

Verileriniz varsa , aramada fixed widthaşağıdaki normal ifadeyi de kullanabilirsiniz :

Ne buldun: ^(.{16}).*$

İle değiştirin: \1

Saklamak istediğiniz verilerden birinin dediği gibi bir boşluk içermesi harikadır. Ek olarak, sabit genişlikli veriler için tekrar kullanabilirsiniz Column Mode Editing. Aynı sütun konumunda birden fazla veri satırını düzenlemenizi sağlayan küçük bir özellik. Sütun Modu Düzenleme bölümüne bakınız .

Bu ok tuşlarıyla bahseden, ama aynı zamanda kullanabilirsiniz Page Up/Downyanı sıra, daha hızlı bir yöntem için Endve Hometuşları. Fare de çalışır. Ancak bunu, özellikle sadece birkaç satırsa, belirli bir noktadan sonra verileri silmek için geçici bir yöntem olarak kullanabilirsiniz. Aynı zamanda veri kopyalamak için de iyidir, ancak yapıştırma şekli biraz gariptir, bu yüzden önce buna alışmak istersiniz.


1
Bunu seçmek ve onunla değiştirmek, şunun gibi bir göz kullanmaktan daha iyidir: (? <= ^. {13}). * * Ve hiçbir şey ile değiştirmeyin. Bu ilk 13 karakterden sonra herhangi bir şeyi seçecektir.
Chris Murray,

4

Enthdegree benzer:

  1. İmleci sütun 16'ya yerleştirin
  2. Shift+ Alt+Page Down
  3. Shift+ Alt+End
  4. Delete

Dosyanın sonunda boş bir satır varsa, Up Arrow# 3'den önce basmanız yeterlidir .

Mükemmel değil, ama kullanışlı.


4
  1. ALTFareyi bir kement olarak kullanırken basın .
  2. Kaldırmak istediklerinizi seçin
  3. Basın DELETE

İlk sütunun IP adresleri gibi güzel bir şekilde hizalandığını varsayarsak, bu en hızlı yoldur.
bgStack15

OP: "Sütun modu bir seçenek değildir"
Peter Mortensen

3

İşte görsel bir yol:

  • İmleci bir IP adresinin sonuna getirin.
  • Alt+ Shift+Pg Down
  • Alt+ Shift+Right
  • Delete

Bu 'sütun temelli' değildir. Yalnızca çalışır, çünkü IP adresleriniz aynı hizadadır.


1
"Bu sütun 'tabanlı değil." Derken neyi kastediyorsunuz? Alt + Shift + Ok "sütun moduna" geçer.
MrWhite

Sekme tanımlamasına sütun olarak sayılmaz. Onları boşluklara böler, böylece seçimdeki her satır, seçimlerin başlangıç ​​noktasının kenarındaki aynı karakter sayısına sahiptir.
enthdegree

1

Normal ifade modunda şunları arayın:

\ T. *

Ve ile değiştirin

Hiçbir şey değil


Bunun ne yaptığını açıklamak için bir veya iki cümle ekleyebilir misiniz? Teşekkürler.
fixer1234

1
Yığın Değişimi, sekmeleri görüntülerken boşluklara dönüştürür, ancak düzenleme modunda bile örnek herhangi bir sekme göstermez.
Arjan

0

Notepad ++ 'daki ilk sütundan sonra her şeyi silin:

  1. 2. sütunu seç: Alt+ Sürükle
  2. Dinlenme sütunlarını seçmek için: sadece basın Right Arrow
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.