Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menormalkan Input Teks ke ASCII Menggunakan Pengendalian Unicode Dipertingkatkan dalam Go?

Bagaimana untuk Menormalkan Input Teks ke ASCII Menggunakan Pengendalian Unicode Dipertingkatkan dalam Go?

Patricia Arquette
Patricia Arquetteasal
2024-10-24 07:28:291056semak imbas

How to Normalize Text Input to ASCII Using Enhanced Unicode Handling in Go?

Menormalkan Input Teks ke ASCII Menggunakan Pengendalian Unikod Dipertingkat

Menukar aksara bukan ASCII kepada persamaan ASCII adalah keperluan biasa dalam banyak konteks pengaturcaraan . Apabila bekerja dengan input pengguna, anda perlu mengendalikan aksara khas seperti petikan kerinting dengan cara yang konsisten.

Menggunakan Strings.Map untuk Pemetaan Rune

Pustaka standard Go menyediakan fungsi rentetan. Peta untuk menukar rune rentetan (titik kod Unikod) dengan cekap kepada rentetan baharu. Fungsi ini membenarkan kawalan berbutir ke atas penggantian aksara.

Dalam contoh yang disediakan, kod berikut menukar petikan kerinting kepada petikan lurus menggunakan rentetan.Fungsi Peta:

<code class="go">data := "Hello “Frank” or ‹François› as you like to be ‘called’"
cleanedData := strings.Map(normalize, data)</code>

Fungsi normalisasi ialah penutupan yang mengendalikan penggantian aksara berdasarkan julat aksara Unikod yang dipratentukan:

<code class="go">func normalize(in rune) rune {
    switch in {
    case '“', '‹', '”', '›':
        return '"'
    case '‘', '’':
        return '\''
    }
    return in
}</code>

Output:

Original: Hello “Frank” or ‹François› as you like to be ‘called’
Cleaned: Hello "Frank" or "François" as you like to be 'called'

Dengan menggunakan rentetan.Peta, kita boleh menormalkan teks input kepada setara ASCII tanpa bergantung pada penggantian rentetan. Ini menyediakan pendekatan yang serba boleh dan cekap untuk mengendalikan aksara bukan ASCII dalam pelbagai senario pengaturcaraan.

Atas ialah kandungan terperinci Bagaimana untuk Menormalkan Input Teks ke ASCII Menggunakan Pengendalian Unicode Dipertingkatkan dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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