Ich habe festgestellt, dass in 10.0 Field Calculator ziemlich seltsam ist.
Aber ich habe es geschafft, es zum Laufen zu bringen. Die Hauptidee ist, den Feldnamen in einfache Anführungszeichen zu setzen.
Beispiel. Nehmen wir an, wir haben Felder text1
und text2
. Anstatt Berechnung Feld text2
mit Ausdruck !text1!
, die wahrscheinlich fehl, versuchen Sie diesen: '!text1'
. Wie Sie sehen, verwende ich hier einfache Anführungszeichen.
Also zurück zu deiner Aufgabe. Es wird klarer, Pre-Logic Script Code zu verwenden:
def calc(value):
return value.replace('"', '')
Ausdruck wird sein:
calc('!text1!')
Ich hoffe es wird für dich funktionieren.
Ich habe nicht weiter experimentiert, aber ich denke, dass ein solches seltsames Verhalten auftritt, weil die Feldberechnung in den Aufruf des ArcToolbox-Tools übersetzt CalculateField_management
und ein Ausdruck als Parameter dafür bereitgestellt wird (wahrscheinlich zusätzlich in einfachen oder doppelten Anführungszeichen).
AKTUALISIEREN:
Meine vorherige Lösung schlägt fehl, wenn die Werte von field einfache Anführungszeichen enthalten text1
.
Jetzt habe ich es geschafft, es funktionieren zu lassen, sowohl für den Fall, dass Zeichen '
und "
(einfache und doppelte Anführungszeichen) in einem beliebigen Wert im Attribut sind text1
.
Hier ist ein Ausdruck, der die ursprüngliche Zeichenfolge zurückgibt und beide Arten von Anführungszeichen unterstützt:
'''!text1!'''[1:-1]
Für Ihre Aufgabe kann es erweitert werden (ohne Pre-Logic Script Code):
'''!text1!'''[1:-1].replace('"', '')
!testing![1:len(!testing!)-1]