Jak łamać linie w określonym znaku w Notepad ++?


104

Mam plik tekstowy zawierający tekst taki jak:

['22APR2012 23:10', '23APR2012 07:10', 1, 3, 0], ['22APR2012 23:10', '23APR2012 07:20', 1, 3, 0], ['22APR2012 23:15', '23APR2012 06:40', 0, 1, 0], ['22APR2012 
23:15', '23APR2012 06:40', 1, 3, 0], ['22APR2012 23:15', '23APR2012 06:40', 0, 1, 0], ['22APR2012 23:15', '23APR2012 07:00', 1, 3, 0], ['22APR2012 23:15', '23APR2012 
07:00', 0, 1, 0], ['22APR2012 23:20', '23APR2012 09:35', 0, 1, 0], ['22APR2012 23:20', '23APR2012 09:35', 1, 3, 0], ['22APR2012 23:20', '23APR2012 10:10', 1, 3, 0], 
['22APR2012 23:25', '23APR2012 05:35', 1, 3, 0], 

Chcę, żeby linie się załamały ], znakach:

['22APR2012 19:30', '23APR2012 00:25', 0, 1, 0], 
['22APR2012 19:35', '23APR2012 01:45', 1, 3, 0],
['22APR2012 19:50', '23APR2012 05:25', 1, 3, 0],
['22APR2012 19:50', '23APR2012 05:25', 0, 1, 0],
['22APR2012 19:55', '23APR2012 06:25', 1, 3, 0],

Czy jest sposób, aby to zrobić w Notepad ++ lub innym edytorze?


2
duplikat pytania superużytkownika
xQbert

1
Czy możesz mi powiedzieć, jak to zrobić, jeśli chcę to przełamać ;? Rozwiązania dla ]mnie nie działają
CodyBugstein

w przyjętym rozwiązaniu wystarczy zamienić „],„ na „;”
Aris

Odpowiedzi:


181
  1. Kliknij Ctrl + h lub Wyszukaj -> Zamień w górnym menu
  2. W grupie Tryb wyszukiwania wybierz Wyrażenie regularne
  3. W polu Znajdź tekst wpisz ],\s*
  4. W polu Zamień na tekst wpisz ],\n
  5. Kliknij Zamień wszystko

12
Aby to zadziałało w Notepad ++ w wersji 6.7.8.2, musiałem użyć trybu wyszukiwania rozszerzonego zamiast wyrażenia regularnego.
AJefferiss

4
Musiałem też użyć Extended, jednak do pojedynczego podziału wiersza \nbyło konieczne.
jarmerson

16

Załóżmy, że ],jest to postać, od której chcieliśmy się przebić

  1. otwarty notePad++
  2. Otwórz Find windowCtrl + F
  3. Przejdź do Replacekarty
  4. Wybierz Search ModesięExtended
  5. Wpisz ],w Find Whatpolu
  6. Wpisz \nw Replace withpolu
  7. Trafienie Replace All
  8. Bum

4
6. Wpisz \r\nw Replace withpolu
Bob Stein

Aby wyświetlić w systemie Windows (np. Notatnik), potrzebujemy \ r \ n. W przeciwnym razie \ n działa na każdej innej platformie (należy przerwać linię i kontynuować poniżej).
Salvador Valencia

8

Jeśli tekst zawiera \ r \ n, które należy przekonwertować na nowe wiersze, użyj trybu „Rozszerzony” lub „Wyrażenie regularne” i użyj znaku ukośnika odwrotnego w „Znajdź co”:

Znajdź co: \\ r \\ n

Zamień na: \ r \ n


6

Spróbuj w ten sposób. U mnie to zadziałało

  1. Otwórz Notepad ++, a następnie skopiuj zawartość
  2. naciśnij ctrl + h
  3. Znajdź, co powinno być (przecinek) lub dowolny znak, który chcesz zastąpić
  4. Zamień na powinno być \ n
  5. Wybierz tryb wyszukiwania -> Rozszerzony (\ n, \ r, \ t, \ 0)
  6. Następnie kliknij Zamień wszystko

2

Nie mam pojęcia, jak to może działać automatycznie, ale możesz skopiować "]" razem z nową linią, a następnie użyć funkcji zamiany.


2

Jeśli chcesz umieścić ciąg oddzielony przecinkami w kolumnie z CR LF, nie będziesz w stanie tego zrobić w Notepad ++, zakładając, że nie chcesz pisać kodu, możesz manipulować nim w programie Microsoft Excel.

Jeśli skopiujesz swój ciąg do lokalizacji B1:

A2 =LEFT(B1,FIND(",",B1)-1)
B2 =MID(B1,FIND(",",B1)+1,10000)

Wybierz A2 i B2, skopiuj kod do kolejnych komórek (przeciągając):

A3 =LEFT(B2,FIND(",",B2)-1)
B3 =MID(B2,FIND(",",B2)+1,10000)

Kiedy otrzymasz # WARTOŚĆ! w ostatniej komórce kolumny A zamień ją na wartość z poprzedniego wiersza B.

Na końcu Twoja kolumna A będzie zawierać żądany tekst. Skopiuj i wklej w dowolnym miejscu.


1
Bardzo pomysłowe rozwiązanie!
diego nunes

5
„nie dasz rady tego zrobić w Notepad ++” - to nieprawda. Użyj reg exp, jak wyjaśniono powyżej creemama. Działa doskonale.
mentallurg
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.