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

子供の想像力を伸ばしアイデアを形にする小学生向けプログラミング教室「プロスタキッズ」

【Python入門】split関数で文字列の分割の仕方

【Python入門】
Pocket

数字、アルファベットや記号などが入り混じった文字列を、ある規則に従って、切り分けてリスト化してくれるのが、split 関数です。
文字列を区切るようなプログラムをゼロから書こうとすると非常に煩雑で、入門者にとってはそれを書くだけでも下手すると1日かかってしまうような大変な作業になってしまう可能性があります。
Split 関数はそういった煩雑さから、解放してくれるとても便利な関数です。これを知っているだけでも作業効率がだいぶ変わりますよ。

split関数の基本的な使い方

たとえば、自分で作ったデータが以下のように「 , 」で区切られている場合を考えましょう。

文字列名.split(“ 区切り文字 ”) とすることで、区切り文字で区切られたリストを得る事が出来ます。

また区切り文字がスペースや、改行、タブであるときは、特に区切り文字を指定しなくても、区切ることができます。

これを使うと例えば、区切り文字に2つのスペースが入っていたとしても、綺麗に分割する事が出来ます。

このように分割したい文字の間に、複数個の区切り文字があったとしてもこれで簡単に対応できますね。

区切り方の応用編

更に、例えば「2番目までは区切って、3個目以降は区切らない」といった混みいった事をしたい場合は以下のように行う事が出来ます。

それでは区切り文字は指定せずに、1番目のみ区切りたいというときはどうすればよいでしょう。
例えば、以下のようにしてみたところエラーがでてきてしまいました。

Python 的には split 関数の最初の引数は、区切り文字をしていしないとどうやらダメなようです。

この場合、「ユーザー側からは区切り文字は露わに指定しませんよ」ということを意味するために、None を用います。

このようにすることで無事に1番目のみを分割する事が出来ました。

rsplit 関数

またsplit 関数と姉妹関係にあたる rsplit 関数もご紹介します。
rsplit は基本的には splitと同じです。しかし、splitは区切る順序は文字列最初からでしたが、rsplitは区切る順序が文字列の最後からになります。
余談ですが、rsplitの 「r」 は文字列の右側からというright、もしくは後ろという意味のrearから来ていると思われます。

では実際に行ってみましょう。

このようにrsplit の引数に区切り文字だけ与えた場合は、rsplit関数 = split 関数となります。
それでは、さらに区切る数を引数( = 2) として追加します。

たしかに後ろから2番目までが区切られている事がわかりますね。

さらに区切り文字は、1文字である必要はありません。文字列でも全く問題なく、split 関数と rsplit 関数は機能します。

まとめ

このように複数の文字列を区切り文字として使う事が出来ます。

今回紹介したsplit関数について、まとめますと以下の通りです。
文字列.split(“区切り文字”、区切り数) # 前から区切る
文字列.rsplit(“区切り文字”、区切り数) # 後ろから区切る

今日ご紹介したようにリストの分割をとても簡単に行う事が出来るのが、python の大変使いやすいところです。
これを機会に覚えてしまって、作業を効率的に進めたいですね。

投稿者:プロスタ編集部

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

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

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

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

あわせて読みたい

関連記事

ページ上部へ戻る