ホームページ  >  記事  >  バックエンド開発  >  Go の拡張された Unicode 処理を使用してテキスト入力を ASCII に正規化する方法

Go の拡張された Unicode 処理を使用してテキスト入力を ASCII に正規化する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-24 07:28:29968ブラウズ

How to Normalize Text Input to ASCII Using Enhanced Unicode Handling in Go?

拡張 Unicode 処理を使用した ASCII へのテキスト入力の正規化

非 ASCII 文字を対応する ASCII 文字に変換することは、多くのプログラミング コンテキストで共通の要件です。 。ユーザー入力を操作する場合、波引用符などの特殊文字を一貫した方法で処理する必要があります。

Rune マッピングのための Strings.Map の利用

Go 標準ライブラリは、文字列のルーン (Unicode コード ポイント) を新しい文字列に効率的に変換するための strings.Map 関数を提供します。この関数を使用すると、文字置換を詳細に制御できます。

この例では、次のコードは文字列を使用して中引用符を直線引用符に変換します。Map 関数:

<code class="go">data := "Hello “Frank” or ‹François› as you like to be ‘called’"
cleanedData := strings.Map(normalize, data)</code>

正規化関数は次のとおりです。事前定義された Unicode 文字範囲に基づいて文字置換を処理するクロージャ:

<code class="go">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 文字を処理するための多用途かつ効率的なアプローチが提供されます。

以上がGo の拡張された Unicode 処理を使用してテキスト入力を ASCII に正規化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。