【Python】文字列を分割するsplit()とsplitlines()の違い

Pythonには文字列を分割するメソッドがあります。
以下では、そのメソッドの使い方を紹介します。

【Python】文字列を分割するメソッドの使い分け

文字列を分割する「split()メソッド」は任意の文字で分割したリストを返す動作をします。
以下のプログラムでは区切り文字としてコロン「:」やカンマ「,」などの記号を指定して文字列を分割します。

以下ではsplitメソッドを使用したプログラムの例となります。

文字列をsplit()メソッドで指定して分割する

以下のプログラムでは、コロンとカンマを利用し、分割した「split()メソッド」のプログラム例となります。
また、区切り文字を指定しない場合は、半角スペース、タブ「\t」、改行「\n」などの「空白」を表す文字で分割します。

text01 = 'Taro Kobayashi:98,100,89'
colon_splittest = text01.split(':')
print('コロンで区切る', colon_splittest)

comma_splittest = text01.split(',')
print('カンマで区切る', comma_splittest)

text02 = 'Taro Kobayashi  98  100  89'
space_splittest = text02.split()
print('スペースで区切る', space_splittest)

※実行結果

$ python3 split_test01.py 
コロンで区切る ['Taro Kobayashi', '98,100,89']
カンマで区切る ['Taro Kobayashi:98', '100', '89']
スペースで区切る ['Taro', 'Kobayashi', '98', '100', '89']
$ 

文字列をsplitlines()メソッドで開業ごとに文字列を区切り分割する

上記と同じように文字列を分割するメソッドに、「splitlines()」があります。
このメソッドは、改行ごとに文字列を区切り、リスト型として返すメソッドとなります。

ファイルのデータを一行ずつ読み込む際に便利です。

test_list = 'Apple\n, Orange\n,grape\n'.splitlines()
print(test_list)

※ 実行結果

$ python3 split_test01.py 
['Apple', ', Orange', ',grape']

上記のように「splitlines()」で改行の文字列を分割しますが、「split(‘\n’)」でも同様の処理は可能です。
しかし、このメソッドではファイルの末尾の改行コードがある場合、余分なデータができてしまい、エラーの原因となることがあります。

test_list = 'Apple\n, Orange\n,grape\n'.split('\n')
print(test_list)

※ 実行結果

$ python3 split_test01.py 
['Apple', ', Orange', ',grape', '']

「splitlines()」では改行をうまく処理してくれるため
ファイルの読み込み処理をする時に活用しましょう。




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!