Menormalkan Input Teks kepada ASCII
Banyak aplikasi memerlukan keupayaan untuk menghuraikan input pengguna dan mengenal pasti ralat penulisan. Walau bagaimanapun, pengendalian aksara bukan ASCII, seperti petikan kerinting, boleh menjadi satu cabaran.
Penggantian Rentetan dengan stdlib
Satu pendekatan biasa ialah menggunakan penggantian rentetan dengan fungsi seperti bait.Ganti. Walaupun berkesan untuk aksara tertentu yang diketahui, kaedah ini boleh membosankan untuk mengendalikan pelbagai aksara.
Menggunakan Strings.Map Function
Pustaka standard Go menyediakan penyelesaian yang lebih serba boleh dengan rentetan.Fungsi Peta. Fungsi ini membolehkan pemetaan rune (titik kod Unicode) ke rune lain. Dengan mentakrifkan fungsi pemetaan tersuai, anda boleh menukar aksara bukan ASCII kepada persamaan ASCIInya.
Contoh
<code class="go">import ( "fmt" "strings" ) func normalize(in rune) rune { switch in { case '“', '‹', '”', '›': return '"' case '‘', '’': return '\'' } return in } 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) }</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'
Atas ialah kandungan terperinci Bagaimana untuk Menormalkan Input Teks Bukan ASCII kepada ASCII Menggunakan Pustaka Standard Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!