ホームページ > バックエンド開発 > Golang > Go で UTF-8 文字列から発音記号を削除するにはどうすればよいですか?

Go で UTF-8 文字列から発音記号を削除するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-09 01:53:11
オリジナル
1056 人が閲覧しました

How to Remove Diacritics from UTF-8 Strings in Go?

テキスト正規化ライブラリを使用して Go で発音記号を削除する

Go で UTF8 でエンコードされた文字列から発音記号を簡単に削除するにはどうすればよいですか?たとえば、文字列 "žůžo" を "zuzo" に変換します。

解決策:

幸いなことに、Go は Unicode を含むテキストの正規化を処理するさまざまな標準ライブラリを提供しています。正規化と発音記号の削除。これらを効果的に利用する方法は次のとおりです:

package main

import (
    "fmt"
    "unicode"

    "golang.org/x/text/transform"
    "golang.org/x/text/unicode/norm"
)

func isMn(r rune) bool {
    return unicode.Is(unicode.Mn, r) // Mn: nonspacing marks
}

func main() {
    t := transform.Chain(norm.NFD, transform.RemoveFunc(isMn), norm.NFC)
    result, _, _ := transform.String(t, "žůžo")
    fmt.Println(result)
}
ログイン後にコピー

このコードは、NFD (正規化フォーム D)、Mn 除去、および NFC (正規化フォーム C) アルゴリズムを使用した一連の変換を使用します。この結果、入力文字列からすべての発音記号が効果的に削除されます。

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

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