Itu berfungsi, tetapi "Name" .split ('-') [0], per @Branco, mungkin lebih mudah.
recurvata
Bisakah Anda menggunakannya dalam kalkulator lapangan? Kalau tidak, Anda perlu menggunakan konsol python untuk beralih ke fitur. Dibandingkan dengan itu, kalkulator lapangan terlihat lebih mudah. Mungkin ada ekspresi yang lebih baik menggunakan ekspresi reguler.
Alexandre Neto
3
Anda tidak dapat menggunakannya dalam kalkulator yang diajukan. Jadi jawaban yang diberikan oleh Alexandre Neto lebih lurus ke depan. Tetapi lebih baik menggunakannya dengan "-1" untuk menghindari menambahkan karakter Anda ke output. Misalnya: kiri ("Nama", strpos ("Nama", ':') - 1). Kalau tidak, Anda akan berakhir dengan "3833-" bukan hanya "3833"
Losbaltica
4
Anda dapat menggunakan kalkulator Bidang dengan ekspresi berikut:
string_to_array("Nombre", ' ')
Fungsi string_to_array () membagi string menjadi array menggunakan pembatas yang disediakan.
Jika Anda menginginkan beberapa posisi array, Anda dapat menambahkan posisi dan itu akan mengembalikan nilai. seperti ini:
.split()
fungsi python ?Jawaban:
Ya kamu bisa.
Gunakan kalkulator Bidang dengan ekspresi berikut:
Fungsi strpos () akan mengembalikan posisi indeks dari karakter '-' pertama dan fungsi left () "memotong" string sebelum posisi itu.
sumber
Anda dapat menggunakan kalkulator Bidang dengan ekspresi berikut:
Fungsi string_to_array () membagi string menjadi array menggunakan pembatas yang disediakan.
Jika Anda menginginkan beberapa posisi array, Anda dapat menambahkan posisi dan itu akan mengembalikan nilai. seperti ini:
sumber
Kemungkinan solusi melalui PyQGIS.
Mari kita asumsikan ada layer titik yang disebut
"some_points"
dengan tabel atribut itu, lihat gambar di bawah.Lanjutkan dengan
Plugins > Python Console > Show Editor
dan tempel skrip di bawah iniOutput akan terlihat
Referensi:
sumber