He encontrado que en 10.0 Calculadora de Campo es bastante raro.
Pero me las he arreglado para conseguir que funcione. La idea principal es la de encerrar campo de nombre con comillas simples.
Ejemplo. vamos a suponer que tenemos los campos text1
y text2
. En lugar de Calcular el campo text2
con expresión !text1!
, que probablemente se producirá un error, pruebe el siguiente: '!text1'
. Como se puede ver estoy usando comillas simples aquí.
Así que, volviendo a su tarea. Será más claro para el uso de Pre-Lógica de Código de secuencia de Comandos:
def calc(value):
return value.replace('"', '')
La expresión será:
calc('!text1!')
Espero que funcione para usted.
No he experimentado aún más, pero creo que tal comportamiento extraño sucede porque el cálculo del campo se traduce en la llamada a la herramienta ArcToolbox CalculateField_management
y de expresión se proporciona como un parámetro a (probablemente, además, cerrado con comillas simples o dobles).
ACTUALIZACIÓN:
Mi solución anterior se producirá en caso de que si hay comillas simples en los valores de campo text1
.
Ahora me las he arreglado para conseguir que funcione tanto en el caso de cuando hay chars '
y "
(las comillas dobles y simples) dentro de cualquier valor en el atributo text1
.
Aquí es la expresión, que le devuelva el original de la cadena, el apoyo a ambos tipos de comillas:
'''!text1!'''[1:-1]
Para su tarea puede ser extendido a (sin Pre-Lógica de Código de secuencia de Comandos):
'''!text1!'''[1:-1].replace('"', '')