Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python入門】正規表現のre.split()で区切り文字を使って文字列を分割する方法

re.split()メソッドとは

re.split(pattern, string, [maxsplit=0]) は、Pythonの正規表現モジュール re に含まれるメソッドで、指定したパターン(区切り文字)が文字列中に出現する箇所で文字列を分割し、リストとして返します。

基本的な使い方

まずは最もシンプルな例を見てみましょう。

import re
result = re.split(r'a', 'Dynamics')
print(result)

実行結果

['Dyn', 'mics']

この例では、文字列「Dynamics」を「a」を区切り文字として分割しています。結果として、「Dyn」と「mics」の2つの要素を持つリストが返されます。

maxsplit引数で分割回数を制御する

re.split() には「maxsplit」というオプション引数があります。デフォルト値は0で、この場合は可能な限り最大回数の分割が行われます。maxsplitに値を指定すると、指定した回数だけ分割が行われ、残りの部分はそのまま1つの要素になります。

maxsplitを指定しない場合

以下のコードでは、maxsplitを指定せずに文字列を分割しています。

import re
result = re.split(r'a', 'Dynamics Kinematics')
print(result)

実行結果

['Dyn', 'mics Kinem', 'tics']

「a」が2箇所に出現するため、文字列は3つに分割されました。

maxsplit=1を指定した場合

次に、maxsplitに1を指定した場合のコードです。

import re
result = re.split(r'i', 'Dynamics Kinematics', maxsplit=1)
print(result)

実行結果

['Dyn', 'mics Kinematics']

maxsplitを1に固定しているため、最初に出現した「i」の位置でのみ分割が行われ、結果は2つの要素だけになっています。maxsplitを指定しなかった前の例では3つの要素に分割されたことと比較すると、挙動の違いがよく分かります。

まとめ

re.split() を使えば、単純な文字だけでなく正規表現パターンを区切り文字として柔軟に文字列を分割できます。大量のテキストデータを処理する際や、複雑な区切りルールが必要な場面で非常に便利なメソッドなので、ぜひ活用してみてください。

  1. Pythonの正規表現における修飾子(フラグ)の使い方と機能一覧

    Python正規表現の修飾子とはPythonのreモジュールでは、正規表現によるパターンマッチングの挙動を制御するために、さまざまな修飾子(フラグ)を指定することができます。これらの修飾子を使うことで、大文字小文字の区別や改行の扱いなど、マッチングの動作を柔軟に変更できます。以下に、主要な修飾子とその機能を一覧形式で紹介します。1. re.I(re.IGNORECASE)大文字と小文字を区別せずにマッチングを行います。英字の大小を無視したい場合に便利です。2. re.L(re.LOCALE)現在のロケール設定に従って単語を解釈します。このフラグは、アルファベット系のグループ(\w および \W

  2. Pythonの正規表現とは?基本の考え方と主な使い方をわかりやすく解説

    正規表現とは何か 正規表現(Regular Expression)とは、文字列の中から特定のパターンを検索したり置換したりするために用いられる、文字の並び(パターン)のことです。シンプルに言えば、「文字列の中から目的のパターンを見つけ出し、必要に応じて書き換えるための記法」と理解するとよいでしょう。 正規表現はPythonだけでなく、Perl、R、Javaなど、ほとんどのプログラミング言語でサポートされており、テキスト処理における共通の基礎技術となっています。 正規表現が活躍する場面 正規表現は、ソースコード、ログファイル、スプレッドシート、さらにはドキュメントといったテキストデータから情報