Not Defteri ++ 'da CRLF bulun


316

Notepad ++ ile tüm CR / LF karakterlerini nasıl bulabilirim / değiştirebilirim?

Microsoft Word ^ p özel karakter eşdeğer bir şey arıyorum.


Sadece 'thenonhacker' ın bahsettiği şey üzerine biraz inşa etmek. ULtraEdit-32'yi işte kullanıyoruz ve EDI dosyalarıyla (x.12) çalışarak, genellikle verileri sarmamız veya açmamız gerekir. En yaygın 2 Arama ve Değiştirme dizesi "^ p" & "~" şeklindedir. bir yoldan gitmek, her bir parçanın daha kolay okunması için "~" yerine bir CR / LF konacaktır. Diğer yöne gitmek dosyayı EDI çevirmeninin ihtiyaç duyduğu biçime geri koyar. Benim gibi tembel insanlar için, bu haritaların kullanımı kolay anahtarlar var.
DavidGrove

1
Rağmen ilgili değil, ama yararlı. UNIX metin dosyasını Windows'ta Windows biçimine dönüştürmek için bir yöntem aradıktan sonra bu sayfayı ziyaret ettim. Yaptığım ve çalıştığım bu, CTRL+H"Arama Modu: Normal İfade" yi seçin. "Aranan: $" ve "Şununla değiştir: \ r". İçeriği kopyalayıp Not Defteri'ne yapıştırın veya diske kaydedin.
Guru

2
Yaşasın! Notepad ++ 6.0 PCRE desteği getiriyor: regex [\r\n]+şimdiki gibi çalışıyor. Cevabımı güncelledim ve kutlayacağım!
VonC

@VonC: Sanırım tüm [notepad ++] cevaplarımı da güncellemeliyim :)
BoltClock

Yanıtlar:


412

[\r\n]+ da çalışmalı

26 Mart 2012 Güncellemesi, Notepad ++ 6.0'ın çıkış tarihi :

OMG, aslında şimdi çalışıyor !!!

Not Defteri ++ 'da PCRE regexp


Orijinal cevap 2008 (Notepad ++ 4.x) - 2009-2010-2011 (Notepad ++ 5.x)

Aslında hayır, regexp ile çalışmıyor gibi görünüyor ...

Ancak Notepad ++ 5.x'iniz varsa, ' genişletilmiş ' arama modunu kullanabilir ve arayabilirsiniz \r\n. Bu sizin tüm bulacağınız CRLF.

(Bunun diğerleriyle aynı cevap olduğunu anlıyorum, ancak yine de 'genişletilmiş mod' sadece Notepad ++ 4.9, 5.x ve daha fazlası ile kullanılabilir)


Nisan 2009'dan bu yana, Notepad ++ sitesinde bu konuda bir wiki makaleniz var:
" Satır Sonları Nasıl Değiştirilir, böylece satır mizanpajı nasıl değiştirilir ".
(bahsettiği georgiecasey onun içinde / onu aşağıya cevap )

İlgili bazı alıntılar aşağıdaki arama işlemlerini içerir:

Basit arama ( Ctrl+ F), Arama Modu =Normal

EOLDüzenleme penceresinde bir seçebilirsiniz .

  • İmleci satırın sonuna getirin ve Shift+ RightOk yazın.
  • veya EOLfare ile seçmek için, yalnızca satır sonundan başlayın ve sonraki satırın başına sürükleyin; sağa sürüklemek EOLişe yaramaz. Manuel olarak kopyalayıp EOLUnix dosyaları alanına ( LF-sadece) yapıştırabilirsiniz .

Basit arama (Ctrl + F), Arama Modu = Genişletilmiş

"Genişletilmiş" seçeneği, \nve \reşleştirilebilecek karakterler olarak gösterilir .
Normal arama modunda olduğu gibi, Notepad ++ tam karakteri arar.
Aranıyor \rşey bulamazsınız UNIX formatlı dosyasında, ancak ararken \nirade. Benzer şekilde, Macintosh biçimindeki bir dosya içerir, \rancak içermez \n.

Basit arama (Ctrl + F), Arama Modu = Normal ifade

Normal ifadeler karakterleri kullanır ^ve $eşleme dizesini satırın başına veya sonuna sabitler. Örneğin, arama return;$işlemi "dönüş"; aynı satırda sonraki metin olmadan gerçekleşir. Bağlantı karakterleri tüm dosya biçimlerinde aynı şekilde çalışır.
'.' nokta metakarakter satır sonlarıyla eşleşmiyor.

[Notepad ++ 5.8.5'te test edilmiştir]: açık olan \rveya \nçalışmayan ( Scintilla belgelerinin aksine ) normal bir ifade araması .
Bir EOL seçildiğinde alana yerleştirilen açık (yapıştırılmış) LF veya (görünmez) EOL karakterleri üzerinde de arama yapılmaz. Normal ifade olmadan gelişmiş arama ( Ctrl+ R)

Ctrl+ M, yeni satırlarla eşleşen bir şey ekler. Bunların yerine replace dizesi gelir.
Gerçekten regex kullanmanız gerekmedikçe, bu yöntemi en güvenilir olarak öneririm.
Örneğin, çift aralıklı bir dosyadaki her ikinci satırsonu kaldırmak için arama dizesi kutusuna Ctrl+ Miki kez ve dizeyi değiştir kutusuna bir kez girin .

Regexp ile gelişmiş arama ( Ctrl+ R).

Ne Ctrl+ M, $ne de \r\neşleştirilir.


Aynı wiki ayrıca Hex editörü alternatifinden de bahseder :

  • Yeni dizeyi belgenin başına yazın.
  • Ardından dokümanı Onaltılı modda görüntülemeyi seçin .
  • Yeni satırlardan birini seçin ve Ctrl+ tuşuna basın H.
  • Değiştir iletişim kutusu yukarıdayken, arka planda yeni değiştirme dizesini seçin ve Ctrl+ CMetinle değiştir girişine yapıştırmak için kopyalayın.
  • Sonra Tümünü Değiştirin veya Değiştirin.

Not: yeni satır için seçilen karakter genellikle olarak görünür 0a.
Dosya Windows Formatındaysa, farklı bir değere sahip olabilir. Bu durumda her zaman gidebilirsiniz Edit -> EOL Conversion -> Convert to Unix Formatve değiştirme işleminden sonra tekrar geri ve Edit -> EOL Conversion -> Convert to Windows Format.


1
Koşuyordum v 4.7. En yeni sürüme yükseltildi ve genişletilmiş mod reklamı yapıldığı gibi çalışıyor. Yanıt veren herkese teşekkürler.
polara

+1: 4.6 çalıştırıyordum ve benzer bir sorun yaşadım. Cevabınız sayesinde 5+ sürümüne geçtim. Teşekkürler!
paercebal

İşe yarıyor! Ama bu Notepad ++ RegExp emmek yapar. UltraEdit-32 daha akıllı, sadece \ n'ye ihtiyacın var ve işini bitirdin ...
thenonhacker

\ r \ n benim için çalıştı, ancak \ n değil.
Warren P

2
@GarretWilson Doğru [^\r]\nçalıştığını onaylıyorum (normal ifade arama): i.stack.imgur.com/PxZWD.png
VonC

22

Görünüşe göre bu bir SSS ve sunulan çözünürlük:

Normal ifade olmadan basit arama (Ctrl + H)

Satır Sonunu Görüntüle / Göster veya Tümünü Göster / Göster ve şimdi görünür yeni satır karakterlerini seçebilirsiniz. Komutu başlattığınızda, yeni satır karakteriyle eşleşen bazı karakterler arama alanına yapıştırılır. Normal ifade modundakinin aksine, eşleşmeler değiştirme dizesiyle değiştirilir.

Not 1: Bunları fare ile seçerseniz, onlardan hemen önce başlayın ve sonraki satırın başına sürükleyin. Satırın sonuna sürüklemek işe yaramaz.

Not 2: Bunları kendiniz kopyalayıp alana yapıştıramazsınız.

Normal ifade olmadan gelişmiş arama (Ctrl + R)

Ctrl + M, yeni satırlarla eşleşen bir şey ekler. Bunların yerine replace dizesi gelir.


2
Değiştirme dizesine yeni satırlar eklemek için Ctrl + M tuşlarını da kullanabilirsiniz.
Dusty Campbell

2
Bu bir SSS çünkü bu başka türlü parlak bir üründe bir tasarım siğilidir.
Warren P

11

Değiştir iletişim kutusunda, arama modunu "Genişletilmiş" olarak ayarlamak istersiniz. Normal veya Normal İfade modları çalışmaz.

Sonra "\ r \ n" (veya unix dosyaları için sadece \ n veya mac biçimindeki dosyalar için sadece \ r) bulun ve değiştirmeyi istediğiniz gibi ayarlayın.


Bu yanıt yazıldığı zaman güncelliğini yitirdi - Mac \r2001'den beri kullanmıyor ... (şimdi unix)
Jasper

9

Bul / değiştir penceresinden \ r \ n düzenli ifadeler ile fazla şansım olmadı.

Ancak, bu Notepad ++ v4.1.2'de çalışır:

  1. Satır sonu karakterlerinin görüntülenmesini etkinleştirmek için "Görünüm | Satır sonunu göster" menüsünü kullanın. (Satır başı dönüş hattı yayınları, tek gölgeli CRLF 'karakteri' olarak görünmelidir.)

  2. CRLF 'karakterlerinden' birini seçin (imleci hemen birinin önüne getirin, SHIFT tuşunu basılı tutun ve SAĞ İMLEÇ tuşuna bir kez basın).

  3. CRLF karakterini panoya kopyalayın.

  4. Bul veya bul / değiştir iletişim kutusunun açık olmadığından emin olun .

  5. Bul / değiştir iletişim kutusunu açın. 'Ne bul' alanı panonun içeriğini gösterir: bu durumda 2 'kutu karakteri' olarak görünen CRLF karakteri (muhtemelen yazdırılamaz bir karakterdir?)

  6. 'Normal ifade' seçeneğinin KAPALI olduğundan emin olun.

Artık istediğiniz şekilde sayabilmeli, bulmalı veya değiştirebilmelisiniz.



4

Çalıştığını bulduğum yol, Değiştir işlevini ve "Genişletilmiş" moduyla "\ n" kullanmaktır. 5.8.5 sürümünü kullanıyorum.


1
Bu sayfada çalışan çok az öğeden biri. Notepadd ++ kullanma 5.8.6. Bu basit bir şeye inanmak gerçekten zor, bu iş parçacığında verilen aşırı karmaşık ve genellikle çalışmayan cevapların miktarını gerektiriyor.
Andrew S

4

2013, v6.13 veya sonraki sürümlerde şunları kullanın:

Menü DüzenleEOL DönüştürmeWindows Biçimi .


Bu, CRLF'nin bir veya daha fazla rastgele karakterle değiştirilmesi genel durumunu kapsamaz. Veya bir veya daha fazla keyfi karakteri CRLF ile değiştirmek (boşluk karakterlerini CRLF ile değiştirmek).
Peter Mortensen

2

"Normal ifadeler" aramasına sahip olduğunu varsayarsak, \ r \ n öğesini arayın. \ R? \ N'yi tercih ederim, çünkü bazı dosyalar satır başı kullanmaz.

EDIT: Geribildirim için teşekkürler, kim bunu aşağı oy. Bunu öğrendim ... şey, hiçbir şey, çünkü geri bildirimde bulunmadın. Bu neden yanlış?


1
Neden işe yaramadığından emin değilim ama işe yaramıyor. Ben bu regex uygulama (Notepad ++) sadece bir seferde tek bir satırı kontrol ve herhangi bir yeni satır karakterleri yok sayar varsayıyorum. Muhtemelen bu yüzden seçildiniz.
frank hadder

1
Evet. regex, notepad ++ ile satır satırdır, bu nedenle EOL'de $ ile konumsal olarak eşleşebilir, ancak satır sınırlarını aşan ifadeleri arayamaz / değiştiremezsiniz.
Warren P

2

Gelişmiş arama seçeneğini ( Ctrl+ R) kullanın ve satır başı eklemek için CRLF ( Ctrl+ M) klavye kısayolunu kullanın .


Denediğimde Ctrl + R benim için çalışmadı. Belgeye " DC2" garip bir kontrol karakteri ekledi . Notepad ++ sürümü: 7.5.6 (2018-05-19).
Peter Mortensen

2

\ R \ n dahil olmak üzere karmaşık bir normal ifade değiştirme işlemi yapmanız gerekiyorsa, üç adımlı bir yaklaşımla sınırlamayı geçici olarak çözebilirsiniz:

  1. Tümünü değiştir \r\ndiyelim bir etiket tarafından #GO#→ Kontrol 'Genişletilmiş' yerine \r\ngöre#GO#
  2. Normal ifadenizi uygulayın, örnek ICON="*"bir html yer işaretlerinden çok satırlı kaldırma → Normal ifadeyi kontrol edin, değiştirinICON=.[^"]+.> by >
  3. \ R \ n → Kontrolü 'Genişletilmiş' geri koyun yerine #GO#göre\r\n

2

Görünüm'e gidin -> Sembolü göster -> Tüm karakteri göster // Benim için çalıştı


1

Bu ayarı yapın. Menü-> Görünüm-> Sembolü Göster-> Satırın Sonunu Göster'in işaretini kaldırın


1
Bu asıl soruya cevap vermiyor. Lütfen bunun neden bu soru ve cevap için faydalı bir katkı olduğunu düşündüğünüzü açıklayın. Ayrıca, nasıl faydalı yanıtlar alacağınızla ilgili yardım merkezi sayfalarını da okuyun .
AdrianHHH

1

Dosyayı Notepad ++ ile açtım ve birkaç adımda bir değiştirme yaptım:

  1. Tüm "\ r \ n" yerine "\ r \ n" yazın
  2. Tüm "; \ r \ n" yerine "\ r \ n" yazın
  3. Tüm "\ r \ n" yerine "" yazın

Bu, tüm sonları olması gereken yere koyar ve dosyayı bozanları kaldırır.

Benim için çalıştı.


1

Bunu NP v6.9'da tamamen yapamadım. Msoft Word'de (2K) yeterince kolay buldum.

Dokümanı açın, düzenle-> değiştir seçeneğine gidin.

Daha sonra arama kutusunun altında, "daha fazla" yı tıklayın, ardından "Özel" düğmesini bulun ve sizin için birkaç şey var. Dos stili için "paragraf" ı kullandım. Bu, windows ülkesindeki bir cr lf çifti.


0

Sadece bir bulma ile değiştirin ve her şeyi bir satıra kadar gider böylece yerine alanında bir boşluk ile değiştirin. Sonra bul ve değiştir (benim durumumda noktalı virgül ile) ve yerine; \ n

:) -T & C


1
Bu mevcut cevaplardan nasıl farklı?
Tüm İşçiler Gerekli

0

Ayrı satırların bir belgesini tek bir satıra değiştirmek için, her satır virgülle ayrılmış bir listede bir giriş oluşturacak şekilde:

  1. ctrl+ farama / yer değiştiriciyi açmak için
  2. "Değiştir" sekmesini tıklayın.
  3. "Ne bul" girişini " \r\n" ile doldurun .
  4. "Şununla değiştir" girişini " ," veya " ," ile doldurun (tercihe bağlı olarak).
  5. "Tüm kelimeyi eşleştir " onay kutusunun işaretini kaldırın (mantığı ortadan kaldıran önemli parça).
  6. "Genişletilmiş" radyo düğmesini kontrol edin.
  7. "Tümünü değiştir" düğmesini tıklayın.

Bu adımlar örn.

foo bar

bar baz

baz foo

içine:

foo bar, baz baz, baz foo

veya: (tercihe bağlı olarak)

foo bar, baz baz, baz foo


0

Belki TextFX eklentilerini kullanabilirsiniz

TextFX'de, textfx düzenlemesine gidin → boş satırları sil


0

Herhangi bir satır sonu dizisini bulmak için aşağıdaki normal ifade yapısını kullanın:

\R

Bulmak ve seçmek için ardışık satır sonu diziler ekler +sonra \R: \R+.

Normal ifade modunu açtığınızdan emin olun :

resim açıklamasını buraya girin

Uyumlu:

  • U+000DU+000A -CRLF` dizisi
  • U+000A- LINE FEED, LF
  • U+000B- LINE TABULATION, VT
  • U+000C- FORM FEED, FF
  • U+000D- CARRIAGE RETURN, CR
  • U+0085- NEXT LINE, NEL
  • U+2028 - LINE SEPARATOR
  • U+2029 - PARAGRAPH SEPARATOR
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.