ホームページ  >  記事  >  バックエンド開発  >  Go: カンマで区切られたキー/値ペアの文字列を分割します。指定されたキー/値ペアにはカンマが埋め込まれている場合があります。

Go: カンマで区切られたキー/値ペアの文字列を分割します。指定されたキー/値ペアにはカンマが埋め込まれている場合があります。

WBOY
WBOY転載
2024-02-10 19:54:081137ブラウズ

Go: カンマで区切られたキー/値ペアの文字列を分割します。指定されたキー/値ペアにはカンマが埋め込まれている場合があります。

PHP では、Go 関数を使用して、カンマで区切られたキーと値のペアの文字列を分割できます。この関数は、特に特定のキーと値のペアにカンマが埋め込まれている可能性がある場合に非常に便利です。 Go 関数を使用すると、キーと値のペアを独立した部分に分割して、さらに処理したり使用したりすることが簡単になります。フォーム データの処理でも、CSV ファイルの解析でも、Go 関数はタスクを効率的に完了するのに役立ちます。この記事では、Go 関数を使用してキーと値のペアを分割する方法を詳しく説明し、参考としていくつかの実用的な例を示します。はじめましょう!

質問の内容

私は Go 言語にあまり詳しくなく、キーと値のペア (すべての文字列) が次のように区切られたマップに可変長の文字列を分割する方法を探しています。カンマで区切られているため、文字列の一部のバリエーションのみが、特定のキーと値のペアに複数のカンマやコロンを含むことができます。例えば:###

文字列 1 バリエーション キーワード 1= 値 1、キーワード 2= 値 2、キーワード 3= 値 3、値 4、値 5、キーワード 4= 値 6... 文字列2バリエーション キーワード 1 = 値 1、キーワード 2 = 値 2、キーワード 3 = 値 3、値 4、値 5: 値 6、値 7、値 8、キーワード 4 = 値 9...

ここで、「...」は、変数 # キー/値ペアが存在するという事実を表します。最終的には次のようなマップになることを願っています:

リーリー ###または### リーリー

残念ながら、ファイルから読み取る行の形式は非常に複雑で、受信データの形式を変更するオプションは限られています。私はしばらくこれに取り組んできましたが、残念ながら私は正規表現の達人ではないので、助けていただければ幸いです。

回避策

分割ではなく一致(グローバル)する場合、周囲を確認する必要はありません:

(.*? )=([^=]*) ( ?:,|$)

。 Go で: リーリー

以上がGo: カンマで区切られたキー/値ペアの文字列を分割します。指定されたキー/値ペアにはカンマが埋め込まれている場合があります。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。