1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

「数億規模スタートアップのCTO講師」と「エンジニアキャリア専門のポテパン」が贈る、実践型Rubyスクール。

【Python入門】split lineで文字の区切り方について

【Python入門】
Pocket

プログラミングをしていると、文字列を操作することがよくあります。pythonには文字列を操作するための関数が豊富に用意されており、他の言語よりも簡単に文字列を処理することができます。

今回は、文字列の操作のうち、文字列の分割に焦点を絞って解説します。

for文で分割する

文字列を分割する最も単純な方法はfor文を使う方法です。

for文で一文字ずつ取り出して結合し、区切り文字(この例では空白)まで来たらリストに追加する、を繰り返すことで文字列を分割することができます。この方法でも問題はありませんが、コードが長くて少し見づらいですね。

split()を使う

for文を使った方法はコードが長く見づらいものでした。しかし、Pythonには文字列を分割するための関数が用意されています。それがsplit()です。split()の構文は以下の通りです。

split()を使うと、引数として渡した区切り文字で文字列を区切ったリストが作られます。引数を空欄にした場合は空白で分割されます。

実行結果

[‘python’, ‘ string’, ‘ split’]
[‘python’, ‘hello’, ‘world’]

また、split()なら文字列を分割する回数を指定することもできます。例えば、最初の1単語と、残りの文字列とで分けたいときに便利です。

実行結果

[‘python’, ‘ string’, ‘ split’]
[‘python’, ‘ string, split’]

また、split()によく似たものとしてrsplit()があります。rsplit()は基本的にはsplit()と同じですが、分割する回数を指定した際に違いがあります。split()は、文字列の左端から指定した回数分割しますが、rsplit()では文字列の右端から指定した回数分割します。

実行結果

[‘python’, ‘ string, split’]
[‘python, string’, ‘ split’]

splitlines()を使う

split()を使えば好きな区切り文字で簡単に文字を区切ることができます。区切り文字に改行文字(\n)を指定すれば、改行文字で分割することができますが、改行文字で分割するときはsplitlines()を使うこともできます。

splitlines()の使い方はsplit()とほぼ同じです。split()と違うのは、splitは区切り文字を自由に指定できるのに対し、splitlines()は区切り文字は必ず改行文字になります。つまり、split()の引数に改行文字を渡したのと同じ結果になります。

実行結果

[‘python’, ‘string’, ‘split’]
[‘python’, ‘string’, ‘split’]

これだけを見ると、わざわざsplitlinesを使う必要はないように思えます。しかし、splitlines()がsplit()と違うのは、引数にTrueを渡すことで、改行文字を残したうえで分割することができる点です。

split()を使って同様のことを実現する場合は、分割した後にfor文を回して改行文字を付け加える必要があります。改行文字を残して分割したいときは、splitlines()を使うようにしましょう。

partitionで分割する

Pythonで文字列を分割するには、partition()を使うという方法もあります。partition()の基本的な構文は以下の通りです。

partition()の構文もsplit()やsplitlines()によく似ていますが、実行した結果には少し違いがあります。partition()は最初の区切り文字の場所で文字列を分割し、(区切り文字の前の文字列、区切り文字、区切り文字のあとの文字列)という形式のタプルを返します。

実行結果

(‘python’, ‘ ‘, ‘string split’)

もし区切り文字が見つからない場合は、元の文字列と、後ろに2つの空文字列が入ったタプルが返されます。

実行結果

(‘python string split’, ”, ”)

また、partition()と逆の動きをするrpartition()もあります。rpartition()は最後の区切り文字の場所で文字列を分割し、(区切り文字の前の文字列、区切り文字、区切り文字のあとの文字列)という形式のタプルを返します。

実行結果

(‘python string’, ‘ ‘, ‘split’)

rpartition()では、区切り文字が見つからない場合は、2つの空文字列の後ろに元の文字列が入ったタプルが返されます。

実行結果

(”, ”, ‘python string split’)

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

おすすめスクール

全国30校舎で展開されるヒューマンアカデミーのWeb講座は修了者数4万人超、講師とカリキュラムの満足度がどちらも9割を超えています。就職や転職に必要なレベルの実務スキルを身に付けられます。

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

イチ押しランキング

1リナックスアカデミー

リナックスアカデミー

2システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ
ページ上部へ戻る