znajdź i zamień - problem z enterem

Użytkowanie edytora dokumentów
ptyr76
Posty: 3
Rejestracja: pn wrz 16, 2019 5:54 pm

znajdź i zamień - problem z enterem

Post autor: ptyr76 »

Po konwertacji pliku pdf na rtf progam każdą linijkę tekstu zakończył Enterem i nie mogę dojść jak w OpenOffice zamienić Enter na spację, z korzystając z znajdź i zamień.
Apache OpenOffice 4.1.6, Windows 10 home
Awatar użytkownika
Jermor
Posty: 2239
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: znajdź i zamień - problem z enterem

Post autor: Jermor »

Operacja "Znajdź i zamień" wymaga zastosowania wyrażeń regularnych. Pozwolą one zamienić każdy znak końca akapitu (ENTER) wybranym znakiem lub ciągiem znaków.
Trzeba przy tym pamiętać, że zamiana tych znaków sprawi iż w dokumencie powstanie jeden dłuuugi akapit. Jeśli więc chcemy połączyć w jeden akapit tylko wybrane wiersze, powinniśmy te zamiany wykonać w zaznaczonym obszarze. Warto też zastanowić się czy zamienić je na spacje. Gdy wykonamy pracę i stwierdzimy, że niektóre podziały powinny powrócić, to wszystkie spacje wezmą w tym udział. Można zamienić znak końca akapitu na jakiś unikatowy, nie występujący w dokumencie ciąg, np. #!#. W późniejszym przebiegu można zawsze ten ciąg zamienić na pojedynczą spację.
Sama zamiana znaku końca akapitu wymaga zaznaczenia opcji "Wyrażenia regularne" a jeśli zajść ma w zaznaczonym fragmencie tekstu, także "Tylko bieżące zaznaczenie". W polu "Znajdź" należy wpisać $ (znak dolara) a w polu "Zamień" wymagany ciąg lub znak.
Ta operacja nie wykrywa znaku nowej linii, nazywanego też miękkim enterem, uzyskiwanym po naciśnięciu SHIFT+ENTER.
Zamianę tego symbolu dokonać można po wpisaniu w pole "Znajdź" znaków \n a w polu "Zamień" wymaganego ciągu znaków zamieniających.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
ptyr76
Posty: 3
Rejestracja: pn wrz 16, 2019 5:54 pm

Re: znajdź i zamień - problem z enterem

Post autor: ptyr76 »

Ale jaką regułę należy wpisać w pola: znajdź i zamień, gdy koniec wiersza składa się z "mała litera + spacja + enter" (np.taką kombinacją do wyszukania próbowałem stosować: "[:lower:] spacja $") i ale co wpisać w zamień aby pozostała tylko "mała litera+spacja" nie wiem.
Apache OpenOffice 4.1.6, Windows 10 home
Jan_J
Posty: 4558
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: znajdź i zamień - problem z enterem

Post autor: Jan_J »

Znajdź "([:lower:]) $")
Zamień na "$1\n"

Nawiasy (...) tworzą tzw. wyróżnione podwyrażenie (grupę) numerowane. $1 jest odwołaniem do tekstu dopasowanego do tego (tj. pierwszego, w tym przypadku) podwyrażenia.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Awatar użytkownika
Jermor
Posty: 2239
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: znajdź i zamień - problem z enterem

Post autor: Jermor »

Wydaje mi się Janie, że źle zrozumiałeś intencję @ptyr76. On chce aby wszystkie wiersze zawierające na końcu małą literę+spację połączyć w jeden akapit. Po znalezieniu sekwencji "mała litera+spacja+enter" zamienić ją na "mała litera+spacja" odtwarzając tym samym oryginalny akapit. Założył bowiem, że po konwersji z PDF każdy oryginalny akapit kończy się innym znakiem niż mała litera. To jednak nie musi być prawdą. Niektóre wiersze mogą na końcu zawierać np znak przecinka albo inny znak interpunkcyjny, który nie jest małą literą, w związku z tym "połączenie" wierszy nie nastąpi. Ponadto odtworzenie oryginalnego akapitu nie nastąpi, gdy zawierał on kilka zdań i akurat jedno z nich, po konwersji, kończy się w wierszu.
Sprawa druga. Zastosowanie symbolu $ w polu "Znajdź" z poprzedzającymi znakami oznacza zawsze znalezienie ostatnich pasujących znaków w akapicie, bez znaku końca akapitu. Każda zamiana nastąpi przed tym znakiem.
Aby usunąć znak końca akapitu w polu "Znajdź" należy wskazać tylko symbol $
Dlatego moim zdaniem najpierw należy zastąpić każdy znak końca akapitu jakimś unikatowym ciągiem, jak już napisałem np. #!#. Dopiero potem w Polu "Znajdź" wpisać np "([,;:[:lower:]) *#!#" (po nawiasie zamykającym jest wpisana spacja a po niej gwiazdka) i zamienić na "$1 " (po cyfrze wpisana jest spacja) . W następnym kroku zamienić wszystkie pozostałe #!# na \n.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
ptyr76
Posty: 3
Rejestracja: pn wrz 16, 2019 5:54 pm

Re: znajdź i zamień - problem z enterem

Post autor: ptyr76 »

Jermor o to chodziło. Dziękuję za pomoc.
Apache OpenOffice 4.1.6, Windows 10 home
ODPOWIEDZ