Descobri que na 10.0 Field Calculator é bastante estranho.
Mas eu consegui fazê-lo funcionar. A idéia principal é colocar o nome do campo entre aspas simples.
Exemplo. vamos supor que temos campos text1
e text2
. Ao invés de campo Calculando text2
com a expressão !text1!
, o que provavelmente irá falhar, tente este: '!text1'
. Como você vê, estou usando aspas simples aqui.
Então, de volta à sua tarefa. Será mais claro usar o Código de script pré-lógico:
def calc(value):
return value.replace('"', '')
A expressão será:
calc('!text1!')
Espero que funcione para você.
Não experimentei mais, mas acho que esse comportamento estranho acontece porque o cálculo do campo é traduzido na chamada para a ferramenta ArcToolbox CalculateField_management
e a expressão é fornecida como um parâmetro para ele (provavelmente adicionalmente entre aspas simples ou duplas).
ATUALIZAR:
Minha solução anterior falhará caso haja aspas simples nos valores do campo text1
.
Agora eu consegui fazê-lo funcionar tanto no caso em que existem caracteres '
como "
(aspas simples e duplas) dentro de qualquer valor no atributo text1
.
Aqui está a expressão, que retornará a string original, suportando os dois tipos de aspas:
'''!text1!'''[1:-1]
Para sua tarefa, ela pode ser estendida para (sem o Código de script pré-lógico):
'''!text1!'''[1:-1].replace('"', '')
!testing![1:len(!testing!)-1]