[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: