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!