首頁 > 後端開發 > Golang > 主體

如何使用 Go 標準函式庫將非 ASCII 文字輸入規範化為 ASCII?

Linda Hamilton
發布: 2024-10-24 07:22:02
原創
626 人瀏覽過

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

將文字輸入規範化為 ASCII

許多應用程式需要能夠解析使用者輸入並識別書寫錯誤。但是,處理非 ASCII 字元(例如大引號)可能是一個挑戰。

使用 stdlib 進行字串替換

一種常見的方法是使用函數進行字串替換就像位元組一樣。替換。雖然對於特定的已知字元有效,但此方法對於處理各種字元可能很乏味。

使用 Strings.Map 函數

Go 標準函式庫提供了更通用的解決方案使用 strings.Map 函數。此函數允許將符文(Unicode 程式碼點)對應到其他符文。透過定義自訂映射函數,您可以將非 ASCII 字元轉換為其等效的 ASCII 字元。

範例

<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>
登入後複製

輸出:

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

以上是如何使用 Go 標準函式庫將非 ASCII 文字輸入規範化為 ASCII?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!