Bagaimana cara menggunakan fungsi ganti string dalam Field Calculator?


12

Di dalam tabel atribut saya mencoba untuk mengganti satu string dengan yang lain menggunakan fungsi 'replace'. Sebagai contoh, ada sejumlah fitur yang bidangnya 'NAME' berisi string '(B)' dan saya ingin mengganti ini dengan kata 'County'. Saya memilih kotak centang 'perbarui bidang yang ada' dan menggunakan ekspresi berikut

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

Hasil akhirnya adalah bahwa bidang 'NAME' untuk setiap fitur digantikan oleh 'County' terlepas dari apakah bidang 'NAME' awalnya berisi string '(B)'. Bantuan apa pun akan dihargai.


GrahamD, terima kasih untuk pos dan underdark, terima kasih atas jawabannya. Saya memiliki tantangan yang persis sama. p disingkat pan. Ketik_2 sebagai kolom uji. teks disalin dan disisipkan dari Kotak ekspresi: ganti ("Type_2", "p", "pan") semua teks dan kutipan berwarna merah. tombol ok diklik. Pratinjau keluaran: ekspresi Parser Error tidak valid: (tidak ada detail) Kesalahan Eval: Kolom 'p' tidak ditemukan Saya mendapatkan hasil yang persis sama jika saya menukar Type_2 dan p sekitar. underdark, saran lebih lanjut akan sangat dihargai. Terima kasih
VeM

Jawaban:


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

memberitahu QGIS untuk mengganti '(B)' di '(B)' dengan 'Negara'.

Kamu ingin

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

= ganti '(B)' di "Nama" dengan 'Negara'.

Perhatikan bahwa tanda kutip ganda menunjukkan nama bidang sementara tanda kutip tunggal merujuk ke string statis . Ini tidak bisa dipertukarkan.


@GrahamD, silakan terima jawabannya jika itu menyelesaikan masalah Anda
underdark


3

Pertama, buka kalkulator bidang dan pilih fungsi ganti dari string masukkan deskripsi gambar di siniseperti gambar berikut:

Kedua, memberi tahu QGIS untuk mengganti yang diganti ("Nama Bidang", '(B)', 'Negara'). Misalnya dalam hal ini; ganti ("MES_TIP", 'T', 'Rock'):

Ketiga, silakan pilih tipe bidang output: teks (string) dan kemudian tentukan nama bidang;masukkan deskripsi gambar di sini

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.