Regex : annuler les césures
J’ai récemment eu à effectuer des modifications massives dans des fichiers texte. Il s’agissait d’ouvrages OCR-isé dont la plupart des lignes se finissait par des césures (coupures de mots). Il a été décidé de les retirer.
-$\n([A-zÀ-ú,0-9]+)
→ $1\n
L’expression régulière ci-dessus permet de combiner les mots coupés.
On décompose ainsi la formule :
- Nous cherchons les traits d’union suivis d’un retour à la ligne (
-$\n
), suivis d’une chaine dont les caractères sont variés, avec la virgule attenante ([A-zÀ-ú0-9,]+
) et enfin suivis d’un espace. - On capture les caractères et la virgule attenante. La chaîne est réutilisée sous
$1
. - La formule de remplacement ignore le trait d’union ainsi que l’espace de fin tout en faisant un retour à la ligne (
\n
).