Go で文字列からアクセントを削除するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-03 16:45:30
オリジナル
673 人が閲覧しました

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. 変換された文字列をアクセントなしで返します。

このアプローチには、runes パッケージが導入された Go 1.5 以降が必要であることに注意してください。

以上がGo で文字列からアクセントを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート