首頁 >後端開發 >Golang >如何從 Go 中的字串中刪除重音符號?

如何從 Go 中的字串中刪除重音符號?

Susan Sarandon
Susan Sarandon原創
2024-11-03 16:45:30679瀏覽

How to Remove Accents from Strings in Go?

Go:從字串中刪除重音

在Go 中,可以使用規範化和刪除函數來實現從字串中刪除重音。以下方法利用Go 1.5 或更高版本中的runes 套件:

<code class="go">import (
    "fmt"
    "runes"
    "code.google.com/p/go.text/transform"
    "code.google.com/p/go.text/unicode/norm"
)

func RemoveAccents(s string) string {
    t := transform.Chain(norm.NFD, runes.Remove(runes.In(unicode.Mn)), norm.NFC)
    result, _, _ := transform.String(t, s)
    return result
}

func main() {
    input := "résumé"
    fmt.Println(RemoveAccents(input)) // Output: resume
}</code>

在這個方法中,我們:

  1. 使用norm.NFD規範化形式將字串轉換為其完全分解的形式。
  2. 使用 runes.Remove(runes.In(unicode.Mn)) 移除非空格標記(重音符號)。
  3. 使用norm 將字串轉換回其組合形式。 NFC。
  4. 傳回轉換後的字串,不含重音符號。

請注意,此方法需要 Go 1.5 或更高版本,其中引入了 runes 套件。

以上是如何從 Go 中的字串中刪除重音符號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn