テキスト正規化ライブラリを使用して 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 サイトの他の関連記事を参照してください。