Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Menggunakan Pakej Runes untuk Mengeluarkan Aksen Daripada Rentetan dalam Go?

Bagaimanakah Saya Boleh Menggunakan Pakej Runes untuk Mengeluarkan Aksen Daripada Rentetan dalam Go?

Susan Sarandon
Lepaskan: 2024-11-03 00:15:03
asal
204 orang telah melayarinya

How Can I Use the Runes Package to Remove Accents From Strings in Go?

Pakej Runes dalam Go: Mengubah Aksara Beraksen

Dalam Go, tugas biasa ialah mengubah aksara beraksen kepada persamaan bukan aksennya. Satu pendekatan melibatkan penggunaan pakej unicode seperti norma dan teks. Walau bagaimanapun, pakej ini boleh menjadi rumit untuk pemula.

Penyelesaian yang lebih mudah ialah menggunakan pakej rune, yang telah diperkenalkan dalam Go 1.5 (dikeluarkan pada Ogos 2015) dan Go 1.6 (dijadual untuk dikeluarkan pada Q1 2016). Pakej runes menyediakan cara yang lebih mudah untuk mengalih keluar tanda bukan jarak (Mn), yang biasanya bertanggungjawab untuk aksen.

Berikut ialah contoh cara menggunakan pakej rune untuk mengalih keluar aksen daripada rentetan:

<code class="go">import (
    "fmt"
    "runes"
    "bytes"
    "code.google.com/p/go.text/transform"
    "code.google.com/p/go.text/unicode/norm"
)

func main() {
    r := bytes.NewBufferString("Your Śtring")
    t := transform.Chain(norm.NFD, runes.Remove(runes.In(unicode.Mn)), norm.NFC)
    r = transform.NewReader(r, t)
    fmt.Println(r)

    // Output:
    // Your String
}</code>
Salin selepas log masuk

Kod ini menggunakan fungsi transform.Chain untuk menggunakan satu siri transformasi pada rentetan. Pertama, rentetan diuraikan ke dalam bentuk normalisasi Unikod (NFD) untuk memisahkan aksara asas daripada aksen. Kemudian, fungsi rune.Remove digunakan untuk menapis sebarang rune yang termasuk dalam kategori Mn (tanda tanpa jarak). Akhir sekali, rentetan digubah kembali kepada bentuk ternormalnya (NFC) untuk mengalih keluar sebarang tanda diakritik yang tinggal.

Hasilnya, rentetan beraksen "Your Śtring" ditukar menjadi "Your String" selepas penyingkiran bukan -tanda jarak.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Pakej Runes untuk Mengeluarkan Aksen Daripada Rentetan dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan