Not Defteri ++ ile yeni satırları virgülle değiştirir misiniz?


165

Bir Notepad ++ sorum var.

Notepad ++ ile (farklı satırlarda olan) aşağıdaki kelimeleri nasıl alabilirim?

Apples
Apricots
Pear
Avocados
Bananas

Ve her birinin sonunda virgül içeren bir paragrafa dönüştürür müsünüz? Bunun gibi:

Apples, Apricots, Pear, Avocados, Bananas

Yanıtlar:


325

Bul ve değiştir iletişim kutusunu açın ( CTRL+ tuşuna basın H).

Ardından Regular expressionalttaki 'Arama Modu' bölümünü seçin .

Gelen Find whatalanına bu girin:[\r\n]+

İçinde Replace with:

Virgülden sonra boşluk var.

Bu aynı zamanda

Apples

Apricots
Pear

Avocados
Bananas

Boş satırların olduğu yerde.

Çizgilerinizde boşluklar varsa, önce bunları kaldırmalısınız. Bunu başarmanın en basit yolu

EDIT -> Blank Operations -> Trim Trailing Space

VEYA

TextFX -> TextFX Edit -> Trim trailing spaces

Arama Modunu "Normal ifade" olarak ayarladığınızdan emin olun.


Hatta üzerinde boşluklar varsa _*[\r\n]+. Fazla virgül haline gelen boş satırlarla başa çıkmak için düzenli bir ifade araması yapabilir ,_[,_]+ve onunla değiştirebilirsiniz ,_. Alternatif olarak, TextFx paketinde virgül eklenmeden önce kullanılabilecek boşlukları silme komutu bulunur. (Not, bu kod bloklarındaki boşlukların altını çizer.)
AdrianHHH 01

evet çok haklısın. Sadece minimalist bir cevap vermeye çalışıyordum. Belki de cevabı düzenlemeliyim.

2
Bu benim için işe yaramıyor: Görüyorum ki "0 tekrar değiştirildi."
Iain Samuel McLean Elder

3
@IainElder, Arama Modu "Normal" veya "Genişletilmiş" yerine "Normal ifade" olarak ayarlanmalıdır.
Scott Lawrence

Iain ile aynı sonucu elde ettim.
dhochee

34

İşte benim için herhangi bir makro veya başka bir şey olmadan Notepad ++ dizeleri benzer bir liste ile çalıştı:

  1. Düzenle -> Boş İşlemler -> Uzayda EOL'yi tıklayın [Tüm öğeler artık bir 'boşluk' ile ayrılmış tek bir satırda olmalıdır]

  2. Herhangi bir 'boşluk' seçin ve Tümünü Değiştir (',' ile)


Basit ve zarif, güzel
reggaeguitar

@trishul Gerçekten Güzel.
himanshupareek66

32

fapDaddy'nin bir makro kullanarak verdiği cevap beni doğru yönde gösterdi.

İşte tam olarak benim için işe yarayan.

  1. İmleci ilk veri öğesinden sonra getirin. resim açıklamasını buraya girin

  2. Menüde 'Makro> Kayda Başla'yı tıklayın. resim açıklamasını buraya girin

  3. Bu diziyi yazın: Comma, Space, Delete, End.resim açıklamasını buraya girin

  4. Menüde 'Makro> Kaydı durdur' seçeneğini tıklayın. resim açıklamasını buraya girin

  5. Menüde 'Makro> Bir Makroyu Birden Çok Çalıştır ...' ı tıklayın. resim açıklamasını buraya girin

  6. 'Dosyanın sonuna kadar Çalıştır'ı tıklayın ve' Çalıştır'ı tıklayın. resim açıklamasını buraya girin

  7. Sondaki karakterleri kaldırın. resim açıklamasını buraya girin

  8. Bitti!

resim açıklamasını buraya girin


5
Bu yöntem binlerce veri öğesi için yavaştır.
Iain Samuel McLean Elder

Mükemmel cevap. Teşekkürler :)
Peter T.

Böyle harika bir bilgi, birçok benzer durumda yararlı olacaktır. Teşekkürler!
Moin

Bilgileri paylaştığınız için teşekkürler. İlginç.
ironman

4

Notepad ++ 5.9 için

  1. Ctrl + H tuşlarına basın
  2. Genişletilmiş Arama modunu seçin (\ n, \ r, \ t, \ o, \ x ...)
  3. Aradığınızı bulun: \ r \ n
  4. Değiştir girin: ,
  5. Replace_All gerekli sonucu almalıdır.

3
Bu yanıt kabul edilen yanıtı tekrarlar ve bu yanıt Notepad ++ 'ın eski bir sürümünü ifade eder, 7.4.x sürümü artık kullanılabilir. Stack Overflow'a hoş geldiniz, ancak lütfen yanıtları yeni bilgiler sağlayın veya yeni bilgiler verin. Mevcut cevapların tekrarlanması yararlı değildir.
AdrianHHH

Yeni npp sürümleri için bu daha iyi bir yoldur.
nurdyguy

Bu en kolay cevap. Yeni satırları virgülle değiştirmek için Normal İfade moduna girmem gerekmemelidir. N ++ aslında doğru çalışıyor, diğer editörler ise "\ n" yi ilk başta beni şaşırtan satır başı ve satır besleme olarak yorumluyor.
BrianVPS

3

Sonra İmlecinizi Apples altında, Makro seçeneğini Tab Başlangıç Kaydı . Virgül ( , ) karakterini, boşluk () karakterini yazın ve Bitir tuşuna basın , Makro sekmesi altında Kaydı Durdur'u seçin .

Tekli oynatma için Ctrl + Üst Karakter + P.


Bu ipucu için teşekkürler. 5000 ++ kelimem varsa ne olur? Hepsi için makroyu tek tek çalıştırmam gerekir mi? Daha kolay bir yöntem var mı?
user2231530

Gelecekte benzer bir görevi yerine getirmeniz gerekiyorsa, bunun için bir komut dosyası yazmak isteyebilirsiniz. Kolay çıkış yolu muhtemelen Makro Sekmesine gidin ve makroyu birkaç kez çalıştırmayı seçin. Saniyeler içinde yapılacaktır.
viclim

+1 Cevabınız bana doğru yönü gösterdi. Cevabımda benim için neyin işe yaradığını tam olarak belgeledim.
Iain Samuel McLean Elder

2

Bu garip gelebilir, ancak metnin tamamını kopyalayıp firefox arama çubuğuna yapıştırarak ve ardından notepad ++ 'a yeniden yapıştırarak bir sonraki satırı kaldırabilirsiniz.

Aşama 1

Adım 2


1
Lütfen bu cevabı geliştirin. Resimlere bağlantılar yararlı olmaz.
Drew

2

Chrome'un Arama Çubuğunu KULLANIN

1-pres CTRL F
kopyalanan metni 2-yapıştır arama çubuğuna
3-pres CTRL Aardından CTRL Caramadan tekrar metin kopyalamak için
in-yapıştır 4 ++ Notepad
5-değiştirme 'space'ile','

Resim için 1 tıkla
Resim için 2 tıkla


0

cc.rnl ', 'ConyEdit (bir eklenti) komut satırını kullanarak yeni satırları istediğiniz içeriklerle değiştirebilirsiniz.


0

\s+Benimle çalıştığım bir normal ifade maçı :

resim açıklamasını buraya girin


BTW: Görünüşe göre bir normal ifade eşleşmesinin $^çalışması gerekiyor, ancak bunun yerine eşleşiyor ^$.
user3673

"Düzenli ifade" seçeneğinin (ekran görüntünüzde) hemen üstündeki "Genişletilmiş" seçeneğini kullanmak aslında bunu yapmanın en kolay yoludur.
nurdyguy
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.