ホームページ  >  記事  >  バックエンド開発  >  golangで同等のPython正規表現分割関数

golangで同等のPython正規表現分割関数

王林
王林転載
2024-02-13 19:45:09469ブラウズ

python 正则表达式 split 函数在 golang 中等效

プログラミングの分野では、正規表現は文字列の照合と処理のための強力なツールです。 Python では、split 関数は、文字列を部分文字列に分割するために使用される一般的に使用される正規表現関数です。ただし、Golang を使用する開発者にとっては、Python の分割関数と同じ機能を Golang で実現する方法を疑問に思うかもしれません。この記事では、PHP エディター Zimo が、この強力なツールをより効果的に活用するために、Golang で正規表現の分割関数を同等に使用する方法を紹介します。

質問の内容

正規表現に一致する次の Python コードがあります::

リーリー

次の出力が得られます:: ['', '', 'h', 'e', '', '', 'l', '', 'l', '', 'o', '', ',' 、「 」、「 」、「、w」、「、「h」、「e」、 」、「、r」、「e」、 、「、」 '、'、' a' 、 ''、 'r'、 'e'、 ''、 ''、 '、 ''、 'y'、 ''、 'o'、 ''、 'u '、''、' '、'1.1 '、''、''、'?'、''、'']

golang を使用して上記の出力を取得しようとしています。

リーリー

次の出力が得られます::

リーリー

正規表現は言語に依存すると思うので、Python で使用される split() 関数は golang には役に立ちません。 regexp パッケージの複数の find*() 関数を使用しましたが、上記の Python プログラムの出力を提供する関数が見つかりませんでした。

出力文字列配列の目的は、float に変換できない文字を分離することです。文字列が float として解析できる場合は、移動平均を計算します。

最後に、すべてを結合して、Linux watch コマンドのように出力を表示します。

さらに詳細や背景が必要ですか?喜んで共有します。

###助けてくれてありがとう!

回避策

とりあえず、私のユースケースに適したものを入手しました。これは

python とまったく同じ形式ではありませんが、空の文字列/文字がありません。

split 関数と findallstring 関数を使用して、目的の出力を取得しました。 リーリー

上記のコード スニペットを使用すると、次のような結果が得られます::

リーリー

私は

regex があまり得意ではありませんが、どういうわけか上記の方法は私のユースケースでは機能します。

もっと軽い話ですが、

regex を使って問題を解決すると、最終的には 2 つの問題が発生するという同僚の冗談を聞いたことがあります。 ! !

以上がgolangで同等のPython正規表現分割関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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