
【Python】splitで複数の区切り文字や条件、正規表現で分割する方法
公開: 更新:複数の区切り文字を使用して文字列を分割する方法
Pythonの標準のsplit
メソッドは、一つの区切り文字しか指定できませんが、re
モジュールのsplit
メソッドを使用することによって、複数の区切り文字で文字列を分割できます。
複数の区切り文字で文字列を分割するには、正規表現を用いて区切り文字を指定するため、正規表現の基本的な知識が必要です。
【サンプルコード】
import re
text = 'apple,orange+grape-banana/cherry'
result = re.split('[,+/-]', text)
print(result) # 出力: ['apple', 'orange', 'grape', 'banana', 'cherry']
【実行結果】
['apple', 'orange', 'grape', 'banana', 'cherry']
この例では、,
、+
、-
、/
のいずれかの文字でtext
を分割しています。
結果として得られるリストresult
には、分割された各文字列が含まれています。
【PR】『Python』を学べる企業・個人向けのプログラミングコース
標準のsplitメソッドを使用する場合
単一の区切り文字を使用して文字列を分割する場合は、Pythonの標準split
メソッドを使用できます。
【サンプルコード】
text = "AAA/BBB/CCC"
result = text.split("/")
print(result) # 出力: ['AAA', 'BBB', 'CCC']
【実行結果】
['AAA', 'BBB', 'CCC']
text.split("/")
では、/
を区切り文字として使用しています。
この方法は、単純な文字列分割に適しており、正規表現の知識は不要です。
splitlinesメソッドを使用して改行で分割する
文字列内の改行文字に基づいて分割するには、splitlines
メソッドが便利です。
【サンプルコード】
text = "AAA\nBBB\nCCC"
result = text.splitlines()
print(result) # 出力: ['AAA', 'BBB', 'CCC']
【実行結果】
['AAA', 'BBB', 'CCC']
ここでは、splitlines
メソッドを使用して改行文字で文字列を分割しています。
これは、複数行のテキストを行ごとに処理する場合に特に有効です。
【PR】『Python』を学べる個人・中高生向けのプログラミングコース
文字数に基づいて文字列を分割する
特定の文字数で文字列を分割する方法もありますが、Pythonの標準機能では直接サポートされていません。
以下のサンプルコードは、3文字ごとに分割するカスタム関数の一例です。
【サンプルコード】
def split_by_length(text, length):
return [text[i:i+length] for i in range(0, len(text), length)]
text = "AAABBBCCC"
result = split_by_length(text, 3)
print(result) # 出力: ['AAA', 'BBB', 'CCC']
【実行結果】
['AAA', 'BBB', 'CCC']
この関数split_by_length
は、指定されたlength
ごとにtext
を分割します。
リスト内包表記を使用することで、コードをシンプルに保っています。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- ChatGPTでプロンプトを使うコツとNG例|シーン別のプロンプト例まで徹底解説
- ChatGPT 4oアップデートで高クオリティな画像生成が可能に!具体例や作り方、プロンプトのコツを紹介
- 【Open AI・Claude】プロンプトジェネレーターの使い方。ChatGPTで活用するコツや利用料金も併せて解説
- 【Python】@(アットマーク)の意味を簡単に解説
- 【Python】match case(match文)で複数条件を処理する方法