Re : Re: sed ignorer une occurence
Le jeudi 1 juin 2023 à 16:01, Michel Verdier <mv524@free.fr> a écrit :
> Le 1 juin 2023 benoit a écrit :
>
> > Il me reste juste l'exception pour le cas ou je veux laisser les "\n" des lignes qui se terminent par un "." ?
>
>
> Ah oui j'avais zappé ça. Voilà mon texte de test :
>
> Je voudrais reformater du texte en colonne, qui a été just-
> ifié avec des retours à la ligne (\n) et est - de coupure de
> mot.
> Mais pas ce dernier.
>
> Et l'ajout de la ligne qui va bien :
>
> (defun ConvertRet ()
> "Convertit un retour à la ligne."
> (interactive)
> (let (
> (p1 (region-beginning))
> (p2 (region-end)))
> (save-restriction
> (narrow-to-region p1 p2)
> (goto-char (point-min))
> (while (re-search-forward "-\\\n" nil t)
> (replace-match "" nil t))
> (goto-char (point-min))
> (while (re-search-forward "\\\n" nil t)
> (cond (not match ".\\\n")
> (replace-match " " nil t)))
> )))
>
> (defun indentBuffer ()
> "Convertit un texte jutifié avec des retours à la ligne."
> (interactive)
> (mark-whole-buffer)
> (ConvertRet))
(cond (not match ".\\\n")
Ne fonctionne pas chez moi
Est ce que ".\\\n" ne veut pas dire n'importe que caractère (.) suivit de \n ?
Du coup j'ai essayé deux formes :
"\\.\\\n"
"[.]\\\n"
Mais il désélectionne la première ligne et rien ne se passe
J'ai joint un fichier formaté sur 72 caractères comme exemple
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec mollis
sagittis libero at semper. In lacinia in lorem sit amet semper. Nulla
pellentesque venenatis dolor, et dapibus dolor feugiat ut. Aenean purus
nunc, elementum vel lectus sed, blandit laoreet ipsum. Aenean in augue
lobortis leo accumsan maximus. Maecenas ante est, ornare vel
ullamcorper sodales, ultrices sit amet augue. Donec ut augue eget odio
tempus condimentum sit amet eu tortor.
Aliquam tincidunt lacinia nulla eu pretium. Nunc eu velit velit. Mauris
a volutpat odio, vitae molestie tellus. Proin fermentum tempus tempor.
Maecenas pellentesque consequat quam, in fringilla lectus mollis nec.
Ut tristique magna hendrerit, gravida metus id, dapibus dui. Proin sed
consequat risus. Aenean eu placerat leo. Suspendisse pulvinar augue
porttitor risus tempus tristique. Donec mauris nulla, suscipit non arcu
non, ullamcorper feugiat dui. Vestibulum at orci cursus, elementum
tellus ut, accumsan ipsum.
Nam luctus neque quis arcu posuere, vulputate volutpat magna efficitur.
Maecenas ut leo quis est molestie faucibus. Nam commodo est ac elit
molestie hendrerit. Aliquam ut aliquet mauris. Maecenas magna magna,
volutpat cursus ligula vel, tristique laoreet ante. Maecenas malesuada
ante fringilla, sagittis massa fringilla, rutrum ligula. Nullam gravida
dolor ut dolor faucibus, ac posuere mauris lobortis. Fusce tempor
sodales enim, et lobortis arcu mattis vehicula. Ut posuere tristique
diam id lobortis. Integer porta neque sit amet erat aliquet consectetur
sed quis mi. Maecenas ut maximus diam. Sed rhoncus lorem vel eros
dictum, sit amet vehicula dui mollis. Mauris euismod felis hendrerit,
tempus sapien quis, commodo eros. Vestibulum id auctor libero, non
accumsan enim. Nulla facilisi. Mauris vel lacinia sem.
Aliquam nec molestie enim. Cras ac justo eros. Vestibulum ante ipsum
primis in faucibus orci luctus et ultrices posuere cubilia curae; Fusce
eget felis congue, vulputate est eget, bibendum sapien. Donec
scelerisque erat vitae massa molestie sodales. Ut lorem quam, varius ac
purus in, cursus pulvinar ante. Phasellus et mi sed elit molestie
accumsan. Ut venenatis suscipit urna quis commodo. Aliquam suscipit
aliquet magna, vitae condimentum ipsum aliquet in. Pellentesque
condimentum est eu lorem elementum luctus. Nunc venenatis justo sit
amet dui rutrum scelerisque. Duis ut pellentesque ante, ornare
vulputate dui. Etiam congue sed ante sit amet euismod. Maecenas rutrum
laoreet sapien ut tincidunt. Maecenas commodo eros sit amet posuere
varius.
Reply to: