Python 文字列分割での区切り文字の保持
Python で文字列を分割する場合、デフォルトの動作では区切り文字が破棄されます。ただし、これらの区切り文字を保持することが有益な状況もあります。
次のシナリオを考えてみましょう。文字列をトークン化し、それに対していくつかの操作を実行し、元の文字列を再構築する場合です。これを実現するには、区切り文字を保持することが重要です。
解決策: グループのキャプチャを使用する
Python の re.split 関数は、括弧のキャプチャを使用して区切り文字をキャプチャする方法を提供します。パターン。その方法は次のとおりです:
import re string = 'foo/bar spam\neggs' pattern = '(\W)' # Capture non-word characters in parentheses result = re.split(pattern, string) print(result)
これにより、次の出力が生成されます:
['foo', '/', 'bar', ' ', 'spam', '\n', 'eggs']
ご覧のとおり、セパレーターは結果のリスト内で別個の要素として保持されています。
キャプチャグループを理解する
鍵この解決策は、正規表現パターンでキャプチャ グループを使用することにあります。キャプチャ グループはかっこを使用して定義され、一致したテキストをキャプチャできるようになります。この場合、キャプチャ グループ (W) は単語以外の文字と一致し、一致したテキストが結果のリストに含まれます。
この手法を使用すると、区切り文字を保持したまま文字列を効果的に分割できます。この機能は、テキストのトークン化、文字列の操作、変更適用後の再構築など、さまざまなシナリオで役立ちます。
以上がPython で文字列を分割するときに区切り文字を保持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。