Python re.split() メソッド
re.split()はPythonreモジュール内で正規表現を使用して文字列を分割する関数です。
一致したパターンに基づいて文字列を分割し、リストを返します。
単語の意味: split 是分割、 Split 的意思。
基本構文とパラメータ
構文形式
re.split(pattern, string, maxsplit=0, flags=0)
パラメータの説明
- pattern:分割用の正規表現
- string:分割する文字列
- maxsplit:最大分割回数。0は無制限を意味します
- flags:正規表現フラグ
関数の説明
- 戻り値:文字列のリストを返します。
例
例1:スペースで分割
例
import re
text = "Python Java JavaScript"
# スペースで分割
result = re.split(r' ', text)
print(result)
text = "Python Java JavaScript"
# スペースで分割
result = re.split(r' ', text)
print(result)
実行結果の予想:
['Python', 'Java', 'JavaScript']
例2:カンマで分割(複数の区切り文字を処理)
例
import re
text = "苹果,香蕉;橙子|葡萄"
# カンマ、セミコロン、縦棒で分割
result = re.split(r'[,;|]', text)
print(result)
text = "苹果,香蕉;橙子|葡萄"
# カンマ、セミコロン、縦棒で分割
result = re.split(r'[,;|]', text)
print(result)
実行結果の予想:
['リンゴ', 'バナナ', 'オレンジ', 'ブドウ']
例3:分割回数を制限
例
import re
text = "a:b:c:d:e"
# 最大2回分割
result = re.split(r':', text, maxsplit=2)
print(result)
text = "a:b:c:d:e"
# 最大2回分割
result = re.split(r':', text, maxsplit=2)
print(result)
実行結果の予想:
['a', 'b', 'c:d:e']
例4:空白文字で分割
例
import re
text = "Python\tJava\nC++\rRuby"
# 任意の空白文字で分割
result = re.split(r'\s+', text)
print(result)
text = "Python\tJava\nC++\rRuby"
# 任意の空白文字で分割
result = re.split(r'\s+', text)
print(result)
実行結果の予想:
['Python', 'Java', 'C++', 'Ruby']
例5:区切り文字を保持
例
import re
text = "a1b2c3"
# キャプチャグループを使用して区切り文字を保持
result = re.split(r'(\d)', text)
print(result)
text = "a1b2c3"
# キャプチャグループを使用して区切り文字を保持
result = re.split(r'(\d)', text)
print(result)
実行結果の予想:
['a', '1', 'b', '2', 'c', '3', '']
その他の拡張