處理文字輸入中的非ASCII 字元可能是一個挑戰,特別是當目標是將它們規範化為ASCII 等效項時。當遇到彎引號而不是直引號時,會出現一個常見問題。雖然自訂字串替換可以解決這個問題,但標準庫提供了更全面的解決方案。
strings.Map 函數提供了將符文(Unicode 字元)對應到其他符文的機制。這種方法提供了一種可自訂的通用方法,用於將非 ASCII 字元轉換為 ASCII 等效字元。
在本例中,以下程式碼示範如何使用Map 將彎引號規範化為直引號:
<code class="go">package main import ( "fmt" "strings" ) 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>
Original: Hello “Frank” or ‹François› as you like to be ‘called’ Cleaned: Hello "Frank" or "François" as you like to be 'called'
透過利用strings.Map函數,可以定義處理各種非ASCII 字元的自訂映射規則,確保所有輸入文字根據需要標準化為ASCII 等效項。
以上是如何使用 strings.Map 函數將非 ASCII 文字輸入標準化為 ASCII?的詳細內容。更多資訊請關注PHP中文網其他相關文章!