#1 Wed 17 February 2021 12:16
- hm85
- Participant occasionnel
- Date d'inscription: 22 Jan 2015
- Messages: 21
QGIS: inserer saut ligne dans un champ
Bonjour,
Dans QGIS j'utilise l'expression suivante pour insérer un saut de ligne dans un champ tous les 15 caractères, par exemple, sans couper les mots
regexp_replace( nomchamp, '(.{15}[^\\s.]*)\\s', '\\1\n').
Cette requête fonctionne pour afficher les étiquettes, pour faire une représentation par catégories.
Par contre dans dbmanager, cela ne fonctionne pas. Il n'y a pas de message d'erreur mais le champ n'est pas séparé par des sauts de ligne.
idem dans pgadmin.
Merci pour votre aide
Hors ligne
#2 Wed 17 February 2021 17:32
- JD
- Moderateur
- Date d'inscription: 8 Aug 2013
- Messages: 726
Re: QGIS: inserer saut ligne dans un champ
Bonjour,
Vous parlez de dbmanager et pgadmin donc je présume que le provider est postgresql ?
A première vue je dirai qu'il n'est pas nécessaire d'échapper les anti-slashes. Un seul anti-slash doit suffire et rajouter 'g' pour global en param suppl.
regexp_replace( nomchamp, '(.{15}[^\s.]*)\\s', '\1\n', 'g').
Tenez nous au courant.
Hors ligne
#3 Fri 19 February 2021 10:30
- romainbh
- Participant assidu
- Date d'inscription: 20 Aug 2013
- Messages: 355
Re: QGIS: inserer saut ligne dans un champ
Bonjour,
Pas testé dans PostGIS, mais dans QGIS la fonction wordwrap permet de faire cela sans passer par du regexp.
Code:
wordwrap('Ceci est du texte assez long avec plein de blabla', 10)
Donnera :
Ceci est
du texte
assez long
avec plein
de blabla
Cordialement
Hors ligne
#4 Thu 11 March 2021 11:41
- hm85
- Participant occasionnel
- Date d'inscription: 22 Jan 2015
- Messages: 21
Re: QGIS: inserer saut ligne dans un champ
Bonjour
Avec du retard j'ai testé
Code:
regexp_replace( nomchamp, '(.{15}[^\s.]*)\\s', '\1\n', 'g').
mais ça ne fonctionne pas non plus.
Pour Qgis, désormais il y a la possibilité de couper tous les n caractère dans la gestion des étiquettes, onglet Formatage.
Mais cela ne résoud pas mon problème en postgresql
Merci quand même pour vos réponses
Hors ligne
#5 Thu 11 March 2021 14:12
- hm85
- Participant occasionnel
- Date d'inscription: 22 Jan 2015
- Messages: 21
Re: QGIS: inserer saut ligne dans un champ
En fait il faut utiliserr ce code :
Code:
regexp_replace(nom, '(.{15}[^\s.]*)\s', '\1' || chr(10), 'g')
Merci pour vos réponses
Hors ligne