
【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】プログラミングや生成AIを無料で学べる「コードキャンプフリー」
標準の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やプログラミングに関するコラム
- 【Python】仮想環境から抜ける方法
- 【Python】文字列から改行コードを除去する方法
- 【Python】10回の繰り返し処理を実装する方法
- 【Python】df(DataFrame)とは?基本的な使い方やデータ操作について解説
- 【Python】指定のファイルがあれば削除する方法
ITやプログラミングに関するニュース
- Azure SQL Managed InstanceがVector型Public Preview対応開始、AI駆動アプリケーション開発の効率化を実現
- GoogleがGmailアプリにGeminiサマリーカードを導入、メール要約の自動表示機能が利用可能に
- ZenchordとNottaが共同開発したAIイヤホンZenchord 1をMakuakeで先行公開、音声認識から議事録作成まで自動化
- Ideinが音声解析AIサービス「Phonoscape」の提供を開始、対面接客現場での会話データ活用が可能に
- Microsoftが.NET 10 Preview 4でdotnet run app.cs機能をリリース、プロジェクトファイル不要でC#実行が可能に