Żeby trochę rozwinąć to, o czym wspominał „ówczesny haker”. W pracy używamy ULtraEdit-32 i pracując z plikami EDI (x.12), często musimy owijać lub rozpakowywać dane. 2 najpopularniejsze ciągi Wyszukaj i zamień to „^ p” i „~”. przejście w jedną stronę zastąpi „~” CR / LF dla łatwiejszego odczytu każdego segmentu. Idąc w drugą stronę, plik powraca do formatu, którego potrzebuje tłumacz EDI. Dla leniwych ludzi, takich jak ja, po prostu mam mapy przypisane do kluczy, aby były łatwe w użyciu.
DavidGrove,
1
Choć nie spokrewnione, ale pomocne. Odwiedziłem tę stronę po poszukiwaniu metody konwersji pliku tekstowego UNIX na format Windows w systemie Windows. Właśnie to zrobiłem i pracowałem CTRL+H, wybierz „Tryb wyszukiwania: wyrażenie regularne”. „Znajdź co: $” i „Zamień na: \ r”. Skopiuj wklej zawartość do Notatnika lub zapisz na płycie.
Guru
2
Tak! Notepad ++ 6.0 zapewnia obsługę PCRE: regex jak [\r\n]+teraz działa. Zaktualizowałem swoją odpowiedź i będę świętować!
Niektóre istotne fragmenty obejmują następujące procesy wyszukiwania:
Proste wyszukiwanie ( Ctrl+ F), Tryb wyszukiwania =Normal
Możesz wybrać EOLw oknie edycji.
Po prostu przesuń kursor na koniec linii i wpisz Shift+ Rightstrzałkę.
lub, aby wybrać EOLza pomocą myszy, zacznij od samego końca linii i przeciągnij na początek następnej linii; przeciągnięcie w prawo od EOLnie zadziała. Możesz ręcznie skopiować EOLi wkleić go w polu dla plików uniksowych ( LFtylko).
Proste wyszukiwanie (Ctrl + F), Tryb wyszukiwania = Rozszerzone
Opcja „Rozszerzona” pokazuje \ni \rjako znaki, które można dopasować.
Podobnie jak w trybie wyszukiwania Normal, Notepad ++ szuka dokładnego znaku.
Wyszukiwanie \rw pliku w formacie UNIX niczego nie znajdzie, ale wyszukiwanie \nbędzie. Podobnie plik w formacie Macintosh będzie zawierał, \rale nie zawiera \n.
Proste wyszukiwanie (Ctrl + F), Tryb wyszukiwania = Wyrażenie regularne
Wyrażenia regularne używają znaków ^i $do zakotwiczenia łańcucha dopasowania na początku lub na końcu linii. Na przykład wyszukiwanie return;$spowoduje znalezienie wystąpienia „return;” które występują bez żadnego tekstu w tym samym wierszu. Znaki kotwicy działają identycznie we wszystkich formatach plików.
„.” kropka metaznak nie pasuje do końców linii.
[Testowany w Notepad ++ 5.8.5]: wyszukiwanie wyrażeń regularnych z wyraźnym \rlub \nnie działa (w przeciwieństwie do dokumentacji Scintilla ) .
Nie jest również wyszukiwane wyraźne (wklejone) LF ani (niewidoczne) znaki EOL umieszczone w polu po wybraniu EOL. Wyszukiwanie zaawansowane ( Ctrl+ R) bez wyrażeń regularnych
Ctrl+ Mwstawi coś, co pasuje do nowej linii. Zostaną one zastąpione ciągiem zastępującym.
Polecam tę metodę jako najbardziej niezawodną, chyba że naprawdę musisz użyć wyrażenia regularnego.
Na przykład, aby usunąć co drugi znak nowej linii w pliku o podwójnych odstępach, wpisz Ctrl+ Mdwukrotnie w polu ciągu wyszukiwania i raz w polu ciągu ciągu.
Wyszukiwanie zaawansowane ( Ctrl+ R) za pomocą Regexp.
Ani Ctrl+ M, $ani nie \r\nsą dopasowane.
Ta sama wiki wspomina również o edytorze heksadecymalnym :
Wpisz nowy ciąg na początku dokumentu.
Następnie wybierz, aby wyświetlić dokument w trybie szesnastkowym .
Wybierz jedną z nowych linii i naciśnij Ctrl+ H.
Po otwarciu okna dialogowego Zamień wybierz w tle nowy ciąg zastępujący i Ctrl+ Cskopiuj go, aby wkleić w polu Zamień za pomocą wprowadzania tekstu.
Następnie Zamień lub Zamień wszystko, jak chcesz.
Uwaga: znak wybrany dla nowej linii zwykle pojawia się jako 0a.
Może mieć inną wartość, jeśli plik ma format Windows. W takim przypadku zawsze możesz przejść do Edit -> EOL Conversion -> Convert to Unix Format, a po wymianie przełącz go z powrotem i Edit -> EOL Conversion -> Convert to Windows Format.
Pracowałem w wersji 4.7. Uaktualniona do najnowszej wersji i tryb rozszerzony działa zgodnie z reklamą. Dziękuję wszystkim, którzy odpowiedzieli.
polara,
+1: Korzystałem z wersji 4.6 i miałem podobny problem. A dzięki twojej odpowiedzi zaktualizowałem do wersji 5+. Dzięki!
paercebal,
To działa! Ale to powoduje, że Notepad ++ RegExp jest do kitu. UltraEdit-32 jest mądrzejszy, potrzebujesz \ n i skończyłeś pracę ...
thenonhacker
\ r \ n pracował dla mnie, ale nie \ n, co jest trochę sprzeczne z intuicją, jeśli jesteś programistą, który jest przyzwyczajony do \ n \\\\\\\\\\\\\\\\\\\ \ r \ n.
Warren P
2
@GarretWilson Potwierdzam, że [^\r]\ndziała dobrze (wyszukiwanie wyrażeń
VonC
22
Wygląda na to, że jest to FAQ , a oferowana rozdzielczość to:
Proste wyszukiwanie (Ctrl + H) bez wyrażenia regularnego
Możesz włączyć Widok / Pokaż koniec linii lub wyświetlić / Pokaż wszystko i wybrać teraz widoczne znaki nowej linii. Następnie po uruchomieniu polecenia niektóre znaki pasujące do znaku nowej linii zostaną wklejone do pola wyszukiwania. Dopasowania zostaną zastąpione ciągiem zastępującym, w przeciwieństwie do trybu wyrażeń regularnych.
Uwaga 1: Jeśli wybierzesz je myszką, zacznij tuż przed nimi i przeciągnij na początek następnego wiersza. Przeciąganie do końca linii nie będzie działać.
Uwaga 2: Nie możesz samodzielnie skopiować i wkleić ich w polu.
Wyszukiwanie zaawansowane (Ctrl + R) bez wyrażeń regularnych
Ctrl + M wstawi coś, co pasuje do nowej linii. Zostaną one zastąpione ciągiem zastępującym.
Możesz również użyć klawiszy Ctrl + M, aby wstawić znaki nowej linii w ciągu zastępującym.
Dusty Campbell
2
To FAQ, ponieważ jest to trochę brodawka projektowa w skądinąd genialnym produkcie.
Warren P
11
W oknie dialogowym Zamień chcesz ustawić tryb wyszukiwania na „Rozszerzony”. Tryby Normalny lub Wyrażenie regularne nie będą działać.
Następnie po prostu znajdź „\ r \ n” (lub po prostu \ n dla plików w formacie unix lub po prostu \ r dla plików w formacie mac) i ustaw zamień na cokolwiek chcesz.
Ta odpowiedź była nieaktualna, gdy została napisana - Mac nie używa \rod 2001 roku ... (teraz jest unix)
Jasper
9
Nie miałem dużo szczęścia z \ r \ n wyrażeniami regularnymi z okna znajdź / zamień.
Działa to jednak w Notepad ++ v4.1.2:
Użyj menu „Widok | Pokaż koniec linii”, aby włączyć wyświetlanie znaków końca linii. (Kanały linii powrotnej karetki powinny pojawiać się jako pojedynczy zacieniony „znak” CRLF.)
Wybierz jeden z „znaków” CRLF (umieść kursor tuż przed jednym, przytrzymaj klawisz SHIFT, a następnie naciśnij raz klawisz PRAWY KURSOR).
Skopiuj znak CRLF do schowka.
Upewnij się, że nie masz otwartego okna wyszukiwania lub znajdź / zamień.
Otwórz okno dialogowe Znajdź / zamień. Pole „Znajdź co” pokazuje zawartość schowka: w tym przypadku znak CRLF - który pojawia się jako 2 „znaki pudełka” (przypuszczalnie jest to znak niezadrukowany?)
Upewnij się, że opcja „Wyrażenie regularne” jest wyłączona.
Teraz powinieneś być w stanie policzyć, znaleźć lub wymienić według potrzeb.
Jeden z niewielu elementów na tej stronie, który działa. Korzystanie z notatnikad ++ 5.8.6. Naprawdę trudno uwierzyć, że coś tak prostego wymaga ilości zbyt skomplikowanych i często niedziałających odpowiedzi, które zostały podane w tym wątku.
Nie obejmuje to ogólnego przypadku zastąpienia CRLF jednym lub większą liczbą dowolnych znaków. Lub zamieniając jeden lub więcej dowolnych znaków na CRLF (powiedzmy zamień spacje na CRLF).
Peter Mortensen
2
Zakładając, że ma wyszukiwanie „wyrażeń regularnych”, poszukaj \ r \ n. Wolę \ r? \ N, ponieważ niektóre pliki nie używają znaków powrotu karetki.
EDYCJA: Dziękuję za opinię, ktokolwiek to zagłosował. Nauczyłem się tego ... cóż, nic, ponieważ nie dostarczyłeś żadnej informacji zwrotnej. Dlaczego to źle?
Nie jestem pewien, dlaczego to nie działa, ale nie działa. Zakładam, że ta implementacja wyrażenia regularnego (w Notepad ++) sprawdza tylko jeden wiersz na raz i ignoruje wszelkie nowe znaki wiersza. Prawdopodobnie dlatego zostałeś odrzucony.
Frank Hadder
1
tak. regex jest wiersz po wierszu w Notatniku ++, więc można dopasować pozycjonowanie w EOL za pomocą $, ale nie można wyszukiwać / zamieniać wyrażeń przekraczających granice linii.
Warren P
2
Użyj opcji wyszukiwania zaawansowanego ( Ctrl+ R) i użyj skrótu klawiaturowego dla CRLF ( Ctrl+ M), aby wstawić znak powrotu karetki.
To nie odpowiada na pierwotne pytanie. Wyjaśnij, dlaczego uważasz, że jest to użyteczny wkład w te pytania i odpowiedzi. Zapoznaj się również ze stronami Centrum pomocy na temat uzyskiwania przydatnych odpowiedzi.
AdrianHHH
1
Otworzyłem plik w Notepad ++ i dokonałem wymiany w kilku krokach:
Zamień wszystkie „\ r \ n” na „\ r \ n”
Zamień wszystkie „; \ r \ n” na „\ r \ n”
Zamień wszystkie „\ r \ n” na „”
To umieszcza wszystkie przerwy tam, gdzie powinny być, i usuwa te, które niszczą plik.
Nie byłem w stanie tego zrobić w NP v6.9. Uznałem, że jest to dość łatwe w Msoft Word (2K).
Otwórz dokument, przejdź do edycji-> zamień.
Następnie w dolnej części pola wyszukiwania kliknij „więcej”, a następnie znajdź przycisk „Specjalny”, a oni mają dla Ciebie kilka rzeczy. Do stylu Dos użyłem „akapitowego”. Jest to para cr lf w Windows Land.
Po prostu zrób znalezisko i zamień puste miejsce w polu zastępowania, aby wszystko poszło do jednej linii. Następnie znajdź i zamień (w moim przypadku średnikiem) i zamień na; \ n
CTRL+H
, wybierz „Tryb wyszukiwania: wyrażenie regularne”. „Znajdź co: $” i „Zamień na: \ r”. Skopiuj wklej zawartość do Notatnika lub zapisz na płycie.[\r\n]+
teraz działa. Zaktualizowałem swoją odpowiedź i będę świętować!\R
która pasuje do ogólnej nowej linii; to znaczy wszystko, co uważane jest za sekwencję łamania linii ...Odpowiedzi:
[\r\n]+
też powinien działaćAktualizacja, 26 marca 2012 r., Data wydania Notepad ++ 6.0 :
OMG, to naprawdę działa teraz !!!
Oryginalna odpowiedź 2008 (Notepad ++ 4.x) - 2009-2010-2011 (Notepad ++ 5.x)
Właściwie nie, to nie działa z regexp ...
Ale jeśli masz Notepad ++ 5.x, możesz skorzystać z trybu wyszukiwania „ rozszerzonego ” i poszukać
\r\n
. To wszystko znajdujeCRLF
.(Zdaję sobie sprawę, że jest to ta sama odpowiedź, co pozostałe, ale ponownie „tryb rozszerzony” jest dostępny tylko w Notatniku ++ 4.9, 5.xi więcej)
Od kwietnia 2009 r. Na stronie Notepad ++ znajduje się artykuł wiki na ten temat:
„ Jak zamienić zakończenia linii, zmieniając w ten sposób układ linii ”.
(wspomniany przez georgiecasey w swojej odpowiedzi poniżej )
Niektóre istotne fragmenty obejmują następujące procesy wyszukiwania:
Ta sama wiki wspomina również o edytorze heksadecymalnym :
źródło
[^\r]\n
działa dobrze (wyszukiwanie wyrażeńWygląda na to, że jest to FAQ , a oferowana rozdzielczość to:
źródło
W oknie dialogowym Zamień chcesz ustawić tryb wyszukiwania na „Rozszerzony”. Tryby Normalny lub Wyrażenie regularne nie będą działać.
Następnie po prostu znajdź „\ r \ n” (lub po prostu \ n dla plików w formacie unix lub po prostu \ r dla plików w formacie mac) i ustaw zamień na cokolwiek chcesz.
źródło
\r
od 2001 roku ... (teraz jest unix)Nie miałem dużo szczęścia z \ r \ n wyrażeniami regularnymi z okna znajdź / zamień.
Działa to jednak w Notepad ++ v4.1.2:
Użyj menu „Widok | Pokaż koniec linii”, aby włączyć wyświetlanie znaków końca linii. (Kanały linii powrotnej karetki powinny pojawiać się jako pojedynczy zacieniony „znak” CRLF.)
Wybierz jeden z „znaków” CRLF (umieść kursor tuż przed jednym, przytrzymaj klawisz SHIFT, a następnie naciśnij raz klawisz PRAWY KURSOR).
Skopiuj znak CRLF do schowka.
Upewnij się, że nie masz otwartego okna wyszukiwania lub znajdź / zamień.
Otwórz okno dialogowe Znajdź / zamień. Pole „Znajdź co” pokazuje zawartość schowka: w tym przypadku znak CRLF - który pojawia się jako 2 „znaki pudełka” (przypuszczalnie jest to znak niezadrukowany?)
Upewnij się, że opcja „Wyrażenie regularne” jest wyłączona.
Teraz powinieneś być w stanie policzyć, znaleźć lub wymienić według potrzeb.
źródło
Obraz z CRLF
Obraz bez CRLF
źródło
Znalazłem, że to działa, używając funkcji Zamień i używając „\ n” w trybie „Rozszerzony”. Używam wersji 5.8.5.
źródło
W 2013 r., Wersja 6.13 lub nowsza, użyj:
Menu Edycja → Konwersja EOL → Format Windows .
źródło
Zakładając, że ma wyszukiwanie „wyrażeń regularnych”, poszukaj \ r \ n. Wolę \ r? \ N, ponieważ niektóre pliki nie używają znaków powrotu karetki.
EDYCJA: Dziękuję za opinię, ktokolwiek to zagłosował. Nauczyłem się tego ... cóż, nic, ponieważ nie dostarczyłeś żadnej informacji zwrotnej. Dlaczego to źle?
źródło
Użyj opcji wyszukiwania zaawansowanego ( Ctrl+ R) i użyj skrótu klawiaturowego dla CRLF ( Ctrl+ M), aby wstawić znak powrotu karetki.
źródło
DC2
”. Wersja Notepad ++: 7.5.6 (2018-05-19).Jeśli potrzebujesz skomplikowanej zamiany wyrażeń regularnych, w tym \ r \ n, możesz obejść to ograniczenie, stosując trzyetapowe podejście:
\r\n
tagiem, powiedzmy#GO#
→ Zaznacz „Rozszerzone”, zastąp\r\n
przez#GO#
ICON="*"
z zakładek HTML → Sprawdź wyrażenie regularne, zamieńICON=.[^"]+.> by >
#GO#
przez\r\n
źródło
Idź do Widok -> Pokaż symbol -> Pokaż całą postać // To zadziałało dla mnie
źródło
Wprowadź to ustawienie. Menu-> Widok-> Pokaż symbol-> odznacz Pokaż koniec linii
źródło
Otworzyłem plik w Notepad ++ i dokonałem wymiany w kilku krokach:
To umieszcza wszystkie przerwy tam, gdzie powinny być, i usuwa te, które niszczą plik.
To zadziałało dla mnie.
źródło
Nie byłem w stanie tego zrobić w NP v6.9. Uznałem, że jest to dość łatwe w Msoft Word (2K).
Otwórz dokument, przejdź do edycji-> zamień.
Następnie w dolnej części pola wyszukiwania kliknij „więcej”, a następnie znajdź przycisk „Specjalny”, a oni mają dla Ciebie kilka rzeczy. Do stylu Dos użyłem „akapitowego”. Jest to para cr lf w Windows Land.
źródło
Po prostu zrób znalezisko i zamień puste miejsce w polu zastępowania, aby wszystko poszło do jednej linii. Następnie znajdź i zamień (w moim przypadku średnikiem) i zamień na; \ n
:) -T i C.
źródło
Aby zmienić dokument z oddzielnymi wierszami w jeden wiersz, przy czym każdy wiersz tworzy jeden wpis na liście oddzielonej przecinkami:
\r\n
”.,
” lub „,
” (w zależności od preferencji).Kroki te skręcają np
w:
lub: (w zależności od preferencji)
źródło
Może możesz użyć wtyczek TextFX
W TextFX przejdź do edycji textfx → usuń puste linie
źródło
Aby znaleźć dowolny rodzaj sekwencji podziału linii, użyj następującej konstrukcji wyrażenia regularnego:
Aby znaleźć i wybrać kolejne sekwencje podziału linii, dodaj
+
po\R
:\R+
.Pamiętaj, aby włączyć tryb wyrażeń regularnych :
To pasuje:
U+000DU+000A -
Sekwencja CRLF`U+000A
-LINE FEED
, LFU+000B
-LINE TABULATION
, VTU+000C
-FORM FEED
, FFU+000D
-CARRIAGE RETURN
, CRU+0085
-NEXT LINE
, NELU+2028
-LINE SEPARATOR
U+2029
-PARAGRAPH SEPARATOR
źródło