banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#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

 

Pied de page des forums

Powered by FluxBB