J'ai trouvé que dans 10.0 Field Calculator, c'est assez bizarre.
Mais j'ai réussi à le faire fonctionner. L'idée principale est de mettre le nom du champ entre guillemets simples.
Exemple. supposons que nous ayons des champs text1et text2. Plutôt que de calculer le terrain text2avec l' expression !text1!, ce qui va probablement échouer, essayez celui - ci: '!text1'. Comme vous le voyez, j'utilise des guillemets simples ici.
Revenons donc à votre tâche. Il sera plus clair d'utiliser le code de script pré-logique:
def calc(value):
return value.replace('"', '')
L'expression sera:
calc('!text1!')
J'espère que cela fonctionnera pour vous.
Je n'ai pas expérimenté plus loin, mais je pense qu'un tel comportement étrange se produit car le calcul du champ est traduit dans l'appel à l'outil ArcToolbox CalculateField_managementet l'expression est fournie en tant que paramètre (probablement également en plus avec des guillemets simples ou doubles).
MISE À JOUR:
Ma solution précédente échouera au cas où il y aurait des guillemets simples dans les valeurs de champ text1.
Maintenant, j'ai réussi à le faire fonctionner au cas où il y aurait des caractères 'et "(guillemets simples et doubles) à l'intérieur d'une valeur d'attribut text1.
Voici l'expression, qui renverra la chaîne d'origine, prenant en charge les deux types de guillemets:
'''!text1!'''[1:-1]
Pour votre tâche, il peut être étendu à (sans code de script pré-logique):
'''!text1!'''[1:-1].replace('"', '')
!testing![1:len(!testing!)-1]