Bagaimana untuk Menormalkan Input Teks Bukan ASCII kepada ASCII Menggunakan Pustaka Standard Go?

Linda Hamilton
Lepaskan: 2024-10-24 07:22:02
asal
625 orang telah melayarinya

How to Normalize Non-ASCII Text Input to ASCII Using the Go Standard Library?

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>
Salin selepas log masuk

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'
Salin selepas log masuk

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!

sumber:php
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!