ฉันได้พบว่าใน 10.0 Field Calculator นั้นค่อนข้างแปลก
แต่ฉันจัดการเพื่อให้มันทำงานได้ แนวคิดหลักคือการใส่ชื่อฟิลด์ด้วยเครื่องหมายคำพูดเดี่ยว
ตัวอย่าง. ให้คิดว่าเรามีสาขาและtext1
text2
แทนที่จะฟิลด์คำนวณtext2
มีการแสดงออกซึ่งอาจจะล้มเหลวลองนี้:!text1!
'!text1'
ตามที่คุณเห็นฉันกำลังใช้เครื่องหมายคำพูดเดี่ยวที่นี่
ดังนั้นกลับไปที่งานของคุณ จะมีความชัดเจนมากขึ้นในการใช้รหัสสคริปต์ล่วงหน้า:
def calc(value):
return value.replace('"', '')
นิพจน์จะเป็น:
calc('!text1!')
ฉันหวังว่ามันจะทำงานให้คุณ
ฉันยังไม่ได้ทดลองต่อไป แต่ฉันคิดว่าพฤติกรรมแปลก ๆ นั้นเกิดขึ้นเพราะการคำนวณฟิลด์ถูกแปลเป็นเครื่องมือเรียกร้องให้ ArcToolbox CalculateField_management
และการแสดงออกที่ให้ไว้เป็นพารามิเตอร์ของมัน (อาจมีการใส่เครื่องหมายคำพูดเดี่ยวหรือคู่
UPDATE:
text1
วิธีการแก้ปัญหาผ่านมาของฉันจะล้มเหลวในกรณีถ้ามีคำพูดเดียวในค่าของสนาม
ตอนนี้ผมมีการจัดการที่จะได้รับมันทำงานทั้งในกรณีที่มีตัวอักษร'
และ"
(คำพูดเดี่ยวและคู่) ภายในค่าใด ๆ text1
ในแอตทริบิวต์
นี่คือนิพจน์ซึ่งจะส่งคืนสตริงต้นฉบับสนับสนุนการอ้างอิงทั้งสองประเภท:
'''!text1!'''[1:-1]
สำหรับงานของคุณสามารถขยายไปยัง (โดยไม่มีรหัสสคริปต์พรีลอจิก):
'''!text1!'''[1:-1].replace('"', '')
!testing![1:len(!testing!)-1]