จะใช้ฟังก์ชั่นแทนที่สตริงใน Field Calculator ได้อย่างไร?


12

ภายในตารางคุณลักษณะฉันพยายามแทนที่สตริงหนึ่งด้วยอีกสตริงหนึ่งโดยใช้ฟังก์ชัน 'replace' ตัวอย่างเช่นมีคุณสมบัติหลายอย่างที่ฟิลด์ 'NAME' มีสตริง '(B)' และฉันต้องการแทนที่ด้วยคำว่า 'County' ฉันกำลังเลือกช่องทำเครื่องหมาย 'อัปเดตฟิลด์ที่มีอยู่' และใช้นิพจน์ต่อไปนี้

 replace( '(B)','(B)','County')

ผลลัพธ์ที่ได้คือฟิลด์ 'NAME' สำหรับทุกคุณสมบัติจะถูกแทนที่ด้วย 'County' โดยไม่คำนึงว่าฟิลด์ 'NAME' นั้นมีอยู่ในตอนแรกหรือไม่นั้นมีสตริง '(B)' ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม


GrahamD ขอบคุณสำหรับการโพสต์และ underdark ขอบคุณสำหรับคำตอบ ฉันมีความท้าทายเหมือนกันทุกประการ p ย่อสำหรับกระทะ พิมพ์ _2 เป็นคอลัมน์ทดสอบ ข้อความที่คัดลอกและวางจากกล่องนิพจน์: แทนที่ ("Type_2", "p", "pan") ข้อความและคำพูดทั้งหมดเป็นสีแดง ปุ่มตกลงเป็นสีเทา ดูตัวอย่างผลลัพธ์: การแสดงออกที่ไม่ถูกต้องข้อผิดพลาดในการแยกวิเคราะห์: (ไม่มีรายละเอียดอะไร) ข้อผิดพลาด Eval: ไม่พบคอลัมน์ 'p' ฉันได้รับผลลัพธ์เดียวกันทุกประการฉันควรจะสลับ Type_2 และ p รอบ ๆ underdark ข้อเสนอแนะเพิ่มเติมใด ๆ ที่จะได้รับการชื่นชมอย่างสุดซึ้ง ขอบคุณ
VeM

คำตอบ:


23
replace( '(B)','(B)','County')

แจ้งให้ QGIS แทนที่ '(B)' ใน '(B)' ด้วย 'Country'

คุณต้องการ

replace("Name",'(B)','Country')

= แทนที่ '(B)' ใน "ชื่อ" ด้วย 'ประเทศ'

โปรดทราบว่าคำพูดสองระบุชื่อฟิลด์ในขณะที่ราคาเดียวหมายถึงสตริงคงที่ สิ่งเหล่านี้ไม่สามารถใช้แทนกันได้


@ GrahamD โปรดยอมรับคำตอบหากมันแก้ปัญหาของคุณได้
underdark


3

ประการแรกเปิดเครื่องคิดเลขและเลือกฟังก์ชั่นแทนที่จากสตริงตัวป้อนคำอธิบายรูปภาพที่นี่เลือกเช่นภาพต่อไปนี้:

ประการที่สองบอกให้ QGIS แทนที่ ("ชื่อฟิลด์", '(B)', 'ประเทศ') แทน ตัวอย่างเช่นในกรณีนี้ แทนที่ ("MES_TIP", 'T', 'Rock'):

ประการที่สามโปรดเลือกประเภทฟิลด์ผลลัพธ์: ข้อความ (สตริง) จากนั้นกำหนดชื่อฟิลด์ป้อนคำอธิบายรูปภาพที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.