Znajdź i zamień, akapity z małej litery i zamiana. [SOLVED]

Użytkowanie edytora dokumentów
Jendrass
Posty: 31
Rejestracja: ndz maja 19, 2019 12:17 pm

Znajdź i zamień, akapity z małej litery i zamiana. [SOLVED]

Post autor: Jendrass »

Jak znaleźć akapity zaczynające się z małej litery?
Niektóre zdania zostały podzielone w ten sposób, że część zdania została przerzucona do nowej linii enterem, a dodatkowo ta nowa linia zaczyna się tabulatorem.
Jeśli uda mi się to znaleźć, to zamienię to na spacje i po problemie. To był błąd.
Dlaczego?
Spróbowałem tak:
\t([:lower:])
i super - znajduję.
To co wydawało mi się trudniejsze okazało się łatwe.
Dalej zrobiło się trudniej, bo zamiana nie wychodzi.
Wpisuję w pole "zamień na" <\> i wstawiam spację z klawiatury.
Edytor zamienia mi pierwszą małą literę akapitu (to logiczne) na <\ > (to dla mnie nielogiczne, bo <\> to znak specjalny).
Jeśli w polu "zamień na" wpiszę < $1> to jest lepiej, ale zostaje mi "enter" i zdanie mam nadal podzielone.
Jak to zrobić poprawnie?
Jak usunąć akapit zaczynający się z małej litery poprzez dołączenie go do poprzedzającego tekstu?
Ostatnio zmieniony wt kwie 27, 2021 7:01 pm przez Jendrass, łącznie zmieniany 3 razy.
LibreOffice 7.3.5, Windows 7
Awatar użytkownika
Jermor
Posty: 2239
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Znajdź i zamień, akapity z małej litery i zamiana.

Post autor: Jermor »

Najpierw odpowiem co do znaków specjalnych.
Są dwa zapisy "\<" i "\>", które są obecnie zdeprecjonowane (lecz nadal można ich używać) i zastąpione konstrukcją \b. Do poczytania w helpie.
Te zapisy dotyczą operacji "Znajdź" i tylko w tym polu mogą zostać użyte. Wpisanie ich do pola "Zamień" traktuje je już jako zwykłe znaki.

Teraz o operacji wyszukiwania. Przebiega ona wyłącznie w obrębie akapitów i nie obejmuje samego symbolu końca akapitu. Dlatego nie można w procesie tradycyjnego wyszukiwania i zamiany połączyć akapitów, gdyż nie można wskazać do znalezienia ciągu zawierającego znak końca akapitu a po nim jakichś kolejnych znaków.
Należy tę operację wykonać w kilku krokach.
  • Zastąpić wszystkie znaki końca akapitu jakimś własnym, na pewno niewystępującym w dokumencie ciągiem. Ja w takich sytuacjach stosuję "#!#".
    Przy włączonej opcji wyrażeń regularnych w pole "Znajdź" należy wpisać tylko znak "$". W pole "Zamień" wpisać "#!#". Po zatwierdzeniu dokument będzie zawierał jedyny znak końca akapitu po ostatnim znaku w tym dokumencie. Pozostałe znaki końca akapitu zostaną zastąpione tym wybranym ciągiem.
  • W drugim kroku, do pola "Znajdź" wpisać "#!#\t([:lower:]) a do pola "Zamień" wpisać: " $1" (spacja i $1). Wszystkie miejsca, w których po "#!#" wystąpił znak tabulatora i mała litera zostaną zastąpione spacją i tą literą.
  • W trzecim kroku wszystkie pozostałe znaki "#!#" należy zastąpić "\n", co spowoduje zastąpienie ich ponownie znakiem końca akapitu.
Wykonaj te działania na kopii dokumentu.
Rozważ także wyszukiwanie w drugim kroku takiego ciągu "#!#[:space:]*\t[:space:]*([:lower:])". Napisałeś, że ktoś w dziwny sposób podzielił akapity, więc nie masz pewności, że np. nie wstawił też niespodziewanych spacji.
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.
Jendrass
Posty: 31
Rejestracja: ndz maja 19, 2019 12:17 pm

Re: Znajdź i zamień, akapity z małej litery i zamiana.

Post autor: Jendrass »

BARDZO, BARDZO dziękuję
LibreOffice 7.3.5, Windows 7
Jendrass
Posty: 31
Rejestracja: ndz maja 19, 2019 12:17 pm

Re: Znajdź i zamień, akapity z małej litery i zamiana.

Post autor: Jendrass »

Sposób podany przez @Jermor działa prawie zawsze.
Prawie, bo w jednym z dokumentów po wpisaniu w "Znajdź" "$" a w polu "Zamień" "#!#" i zatwierdzeniu stało się coś nieoczekiwanego.
Oprócz powyższej zamiany tekst zmienił formatowanie na centralne a czcionkę na bold.
Co dziwniejsze opcja "cofnij" cofa zamianę ale nie formatowanie i zmianę czcionki.
Czy ktoś się tym spotkał?

PS.
Przepraszam, za post pod postem, ale nie wiedziałem czy edytowanie przesunie wątek do góry.
LibreOffice 7.3.5, Windows 7
Awatar użytkownika
Jermor
Posty: 2239
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Znajdź i zamień, akapity z małej litery i zamiana.

Post autor: Jermor »

Działa zawsze, bo jak napisałeś, zamienia ci znaki końca akapitu na wymagany ciąg.
Jeśli chodzi o wyrównanie. Gdy pierwszy akapit dokumentu jest wyrównany do środka, to po przekształceniu dokumentu w jeden akapit, następne dzielenie dokumentu na nowe akapity, sprawi, że każdy z nich będzie wyrównany do środka. (gdy napiszesz akapit z wyrównaniem do środka, to po naciśnięciu ENTER nowy akapit jest automatycznie wyrównany do środka)
Ponadto przy takiej zamianie, styl pierwszego akapitu, który podlega zamianie, zostaje przypisany do wszystkich dołączonych akapitów. Po działaniu odwrotnym wszystkie odtworzone akapity mają przypisany ten właśnie styl.
Ale dokładne wyjaśnienie możliwe jest dopiero po przeanalizowaniu konkretnego dokumentu.
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.
Jendrass
Posty: 31
Rejestracja: ndz maja 19, 2019 12:17 pm

Re: Znajdź i zamień, akapity z małej litery i zamiana.

Post autor: Jendrass »

Mój pakiet oszalał :)
Po wpisaniu <#!#\t([:lower:])> w pole szukaj znajduje wszystkie sekwencje #!#+tabulator+litera. Nieważne czy mała czy duża.
Poprzednio działało...
Nic nie zmieniałem - co mogło się popsuć?
Nie mam zupełnie pomysłu...

ROZWIĄZAŁEM: musi być zaznaczone okienko "uwzględniaj wielkość liter" - wówczas działa.
Nielogiczne, bo "lower" to "lower" - ale cóż...
LibreOffice 7.3.5, Windows 7
Awatar użytkownika
Jermor
Posty: 2239
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Znajdź i zamień, akapity z małej litery i zamiana. [SOLV

Post autor: Jermor »

Oto treść opisu w helpie:
[:lower:]

Oznacza małą literę, o ile w sekcji Opcje zaznaczono pole wyboru Uwzględniaj wielkość liter.
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.
ODPOWIEDZ