Comment utiliser la fonction de remplacement de chaîne dans Field Calculator?

12

Dans une table attributaire, j'essaie de remplacer une chaîne par une autre en utilisant la fonction 'replace'. À titre d'exemple, il existe un certain nombre de fonctionnalités dont le champ «NOM» contient la chaîne «(B)» et je souhaite le remplacer par le mot «Comté». Je sélectionne la case "Mettre à jour le champ existant" et j'utilise l'expression suivante

 replace( '(B)','(B)','County')

Le résultat final est que le champ «NOM» pour chaque entité est remplacé par «Comté», que le champ «NOM» contienne ou non la chaîne «(B)». Toute aide serait appréciée.

GrahamD
la source
GrahamD, merci pour le post et underdark, merci pour la réponse. J'ai exactement le même défi. p en abrégé pour pan. Tapez_2 comme colonne de test. texte copié et collé à partir de la zone d'expression: remplacer ("Type_2", "p", "pan") tout le texte et les citations en rouge. bouton ok grisé. Aperçu de la sortie: expression non valide Erreur de l'analyseur: (rien de détaillé) Erreur Eval: la colonne «p» est introuvable J'obtiens exactement les mêmes résultats si j'échange Type_2 et p autour. dans l'ombre, toute autre suggestion serait grandement appréciée. Merci
VeM

Réponses:

23
replace( '(B)','(B)','County')

indique à QGIS de remplacer le '(B)' dans '(B)' par 'Country'.

Tu veux

replace("Name",'(B)','Country')

= remplacer le '(B)' dans "Nom" par 'Pays'.

Notez que les guillemets doubles indiquent un nom de champ tandis que les guillemets simples font référence à une chaîne statique . Ce ne sont pas interchangeables.

obscur
la source
@GrahamD veuillez accepter la réponse si elle a résolu votre problème
obscurité
7

La syntaxe appropriée est replace ([field_name], '(B)', 'Country')

eseglem
la source
3

Tout d'abord, ouvrez la calculatrice de champ et sélectionnez la fonction de remplacement dans la chaîne o entrez la description de l'image iciption comme dans l'image suivante:

Deuxièmement, indique à QGIS de remplacer le remplacement ("Nom du champ", '(B)', 'Pays'). Par exemple dans ce cas; remplacer ("MES_TIP", 'T', 'Rock'):

Troisièmement, veuillez choisir le type de champ de sortie: texte (chaîne) puis déterminer le nom du champ;entrez la description de l'image ici

maliheh
la source