Regexp in Cerca e sostituisci: il ritorno paragrafo

1 view
Skip to first unread message

Luca

unread,
Oct 28, 2022, 8:49:51 AM10/28/22
to

In Writer, Cerca e sostituisci, Come si individua il ritorno paragrafo seguito
da un carattere?

Ad esempio, in un testo del tipo:

Testo
1
Testo
2
Testo
3

Come trovo la successione "Ritorno paragrafo""2" per cancellare solo il
ritorno paragrafo e ottenere

Testo 1
1
Testo 22
Testo 3
3

Avrei detto Cerca $2 Sostituisci con 2, ma non funziona.
Non posso cercare il 2 singolo perché può trovarsi in altre parti di testo da
non toccare. Mi serve una stringa che selezioni un ritorno a capo /seguito/ da
un determinato carattere.

--
Luca - e-mail: p.stevens at libero.it

Tilt from Arch

unread,
Oct 29, 2022, 4:16:11 AM10/29/22
to
Non mi sembra sia fattibile con il motore di ricerca predefinito, qui
qualcuno suggerisce di usare un'estensione apposita:
https://ask.libreoffice.org/t/find-replace-doesnt-find-paragraph-marks/975

https://extensions.libreoffice.org/en/extensions/show/alternative-dialog-find-replace-for-writer

--
Tilt

Luca

unread,
Oct 29, 2022, 6:52:43 AM10/29/22
to
Tilt from Arch:

> Luca <lu...@no.spam.invalid> wrote:
> > Mi serve una stringa che selezioni un ritorno a
> > capo /seguito/ da un determinato carattere.

> Non mi sembra sia fattibile con il motore di ricerca predefinito, qui
> qualcuno suggerisce di usare un'estensione apposita:
> https://ask.libreoffice.org/t/find-replace-doesnt-find-paragraph-marks/975
>
> https://extensions.libreoffice.org/en/extensions/show/alternative-dialog-find-replace-for-writer

Non funziona (e ti pareva?):

Errore di runtime BASIC.
Si è verificata un'eccezione
Type: com.sun.star.container.NoSuchElementException

Sono su Windows 11, nei messaggi sulla pagina dell'estensione ci sono altri
che ottengono lo stesso errore.

Peccato, è una mancanza non da poco per Libre Office.

Aladino

unread,
Oct 29, 2022, 7:12:09 AM10/29/22
to
Luca <lu...@no.spam.invalid> wrote:

> Avrei detto Cerca $2 Sostituisci con 2, ma non funziona.
Prova con ^2 (sempre da sostituire con 2)

E se hai tempo, leggiti:
<https://help.libreoffice.org/7.4/it/text/shared/01/02100001.html>

--
Per rispondere, togliere -NOSPAM- dall'indirizzo.

Luca

unread,
Oct 29, 2022, 7:39:24 AM10/29/22
to
Aladino:

> Luca <lu...@no.spam.invalid> wrote:
>
> > Avrei detto Cerca $2 Sostituisci con 2, ma non funziona.
> Prova con ^2 (sempre da sostituire con 2)

^2 seleziona solo il due che inizia una riga, ma io devo cancellare (quindi
selezionare) il ritorno a capo che /precede/ il ^2.
Figurati, ci ho perso il sonno su quelle pagine, in tanti anni. Se incontro
chi le ha scritte non lo so se mi tengo.

Aladino

unread,
Oct 29, 2022, 12:30:45 PM10/29/22
to
Luca <lu...@no.spam.invalid> wrote:

> ^2 seleziona solo il due che inizia una riga, ma io devo cancellare (quindi
> selezionare) il ritorno a capo che /precede/ il ^2.
Hai ragione, scusa. Sono stato un po' affrettato nel rispondere.
Comunque $*^2 a me funziona ;-)

> Figurati, ci ho perso il sonno su quelle pagine, in tanti anni. Se incontro
> chi le ha scritte non lo so se mi tengo.
Hai ragione anche su questo. Ma diciamo che se uno non l'ha mai letto,
dovrebbe essere la base di partenza.

Luca

unread,
Oct 29, 2022, 5:28:31 PM10/29/22
to
Aladino:

> Luca <lu...@no.spam.invalid> wrote:
>
> > ^2 seleziona solo il due che inizia una riga, ma io devo cancellare (quindi
> > selezionare) il ritorno a capo che /precede/ il ^2.
> Hai ragione, scusa. Sono stato un po' affrettato nel rispondere.
> Comunque $*^2 a me funziona ;-)

Non credo, sai, controlla. Viene selezionato solo il 2, di conseguenza il
"sostituisci" agisce solo su quello, e non sul ritorno a capo precedente.

Aladino

unread,
Oct 31, 2022, 4:50:37 AM10/31/22
to
Luca <lu...@no.spam.invalid> wrote:

> Non credo, sai, controlla. Viene selezionato solo il 2, di conseguenza il
> "sostituisci" agisce solo su quello, e non sul ritorno a capo precedente.

Hai ragione... di nuovo troppo affrettato nel rispondere. Ma forse puoi
risolvere con un workaround in tre passi (spero sia la volta buona).
1. Trova i caratteri dei paragrafi con il carattere "$", e sostituiscili
con un carattere a scelta non presente nel testo, diciamo "§".
2. Sostituisci la combinazion "§2" con il "2"
3. Sostituisci i "§" rimanenti con "\n"

So chè è un po' demenziale, che per trovare i paragrafi si usi il
carattere "$", mentre per inserirli, bisogna metterci "\n"... però a
quanto pare è così. Il sistema della sostituzione multipla l'ho invece
già usato in altre occasioni, anche con editor meno demenziali
nell'applicazione delle espressioni regolari, ma per sostituzioni ancora
un po' più complicate.

--
Per contattarmi, togliere -NOSPAM- dall'indirizzo.
To contact me, remove -NOSPAM- from address.

Luca

unread,
Oct 31, 2022, 6:14:36 AM10/31/22
to
Aladino:

> forse puoi
> risolvere con un workaround in tre passi
...
> So chè è un po' demenziale, che per trovare i paragrafi si usi il
> carattere "$", mentre per inserirli, bisogna metterci "\n"...

Eh già, demenziale. Comunque grazie, dovrebbe funzionare. Le sostituzioni "di
passaggio" le faccio anch'io, ma non ricordo perché questa volta mi ci sono
ingarbugliato e ho finito per fare a mano. Sarà per la prossima volta.

Però sarebbe interessante capire perché l'estensione di cui si parlava più
sopra in <p01qlhp3vopls7h3e...@4ax.com> non funziona. Visto che
quella di default è così bislacca, sarebbe importante averne una migliore.

Aladino

unread,
Oct 31, 2022, 10:34:38 AM10/31/22
to
Luca <lu...@no.spam.invalid> wrote:

> Visto che quella di default č cosě bislacca, sarebbe importante averne
> una migliore.
Ancora meglio se sistemassero quella default ;-)
Comunque non so, non ho mai usato quell'estensione. Anzi, di solito
preferisco usare altri editor per fare le sostituzioni.
Reply all
Reply to author
Forward
0 new messages