Saya mencoba untuk mengekstrak data teks dari bidang string yang berisi teks dibatasi oleh titik-titik dan menempatkannya di bidang baru menggunakan kalkulator bidang.
Saya menggunakan fungsi python ini (Diambil dari Cara mengekstrak teks sebelum / di QGIS? ):
from qgis.core import *
from qgis.gui import *
@qgsfunction(args='auto', group='Custom')
def func(value1, feature, parent):
return value1.split('.')[0]
Ini mengembalikan semua teks sebelum titik pertama. Sekarang saya bertanya-tanya bagaimana cara menulis fungsi untuk menempatkan setiap baris teks yang dibatasi di bidang yang terpisah.
Sebelum:
Setelah:
fields
. Apakah saya benar?Ini bukan metode yang sangat efisien tetapi yang saya gunakan sebelumnya. Pastikan
Field2
danField3
ada kemudian gunakan sesuatu seperti berikut:Contoh :
Berikut ini adalah atribut:
Kemudian setelah skrip Anda disimpan, pilih untuk memperbarui
Field1
dan menggunakan ekspresi:Hasil:
sumber