Menormalkan Input Teks kepada ASCII: Pendekatan Alternatif
Apabila berurusan dengan set aksara yang berbeza, menormalkan input teks kepada ASCII boleh menjadi penting untuk memastikan pemprosesan dan analisis data yang konsisten. Dalam konteks ini, input pengguna mungkin mengandungi aksara bukan ASCII, seperti petikan kerinting, yang boleh menghalang penghuraian berkesan dan penandaan perangkap penulisan.
Pendekatan semasa melibatkan penggantian urutan aksara tertentu secara manual dengan setara ASCIInya. Walau bagaimanapun, terdapat penyelesaian yang lebih serba boleh dalam pustaka standard Go: fungsi strings.Map.
Fungsi Rentetan.Map
Fungsi rentetan.Map menyediakan mekanisme yang boleh disesuaikan untuk memetakan rune (titik kod Unicode) ke rune lain. Ini membolehkan penormalan dan penukaran aksara yang cekap. Dalam kes ini, anda boleh menentukan fungsi pemetaan yang menukar aksara bukan ASCII kepada persamaan ASCIInya.
Contoh Pelaksanaan
Contoh berikut menunjukkan cara menggunakan rentetan .Fungsi Peta untuk menormalkan input teks:
<code class="go">func main() { data := "Hello “Frank” or ‹François› as you like to be ‘called’" fmt.Printf("Original: %s\n", data) cleanedData := strings.Map(normalize, data) fmt.Printf("Cleaned: %s\n", cleanedData) } func normalize(in rune) rune { switch in { case '“', '‹', '”', '›': return '"' case '‘', '’': return '\'' } return in }</code>
Output
Asal: Hello “Frank” atau ‹François› sesuka hati anda untuk 'dipanggil'
Dibersihkan: Helo "Frank" atau "François" seperti yang anda suka 'dipanggil'
Dalam contoh ini, fungsi normalize memetakan petikan kerinting dan petikan kerinting tunggal kepada rakan sejawat ASCII mereka, menghasilkan rentetan yang dinormalkan.
Kelebihan Menggunakan rentetan.Peta
Menggunakan rentetan.Fungsi Peta menawarkan beberapa kelebihan:
Atas ialah kandungan terperinci Bagaimana untuk Menormalkan Input Teks kepada ASCII menggunakan rentetan Go. Fungsi Peta?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!