Pythonによるsplit()メソッドの利用方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonによるsplit()メソッドの利用方法について現役エンジニアが解説しています。splitメソッドは、指定した文字で文字列を分割する処理を行います。デフォルトでは空白で分割されます。URLで良く使うスラッシュ(/)や他の文字で、文字列を分割して配列にしてみましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Pythonによるsplit()メソッドの利用方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

 

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonによるsplit()メソッドの利用方法について詳しく説明していくね!

大石ゆかり

お願いします!

 
今回はPythonの文字列操作でよく使われるsplitメソッドを紹介します。splitは文字列を分割する際に使われており、業務効率化ツールを作る際によく使用されます。
 

split()メソッドとは?

ある規則に基づいて文字列を分割するためのメソッドのことを指します。

文字列操作において、1から分割する作業を行おうとすると面倒ですが、splitメソッドを使用すると簡単にルールを指定して文字列分割することができます。
 

split()メソッドの使い方

基本的な使い方は何も引数を指定しない方法です。以下のコードを実行すると、スペースで文字列を分割します。

moji = "Hello, World"
print(moji.split())
# >>> ['Hello,', 'World']

また、改行コードやタブのコードがあったり、スペースが2つあっても連続していれば1つの区切り箇所として認識されます。

moji = "Hello,  \n\tWorld"
print(moji.split())
# >>> ['Hello,', 'World']

引数で文字列を指定することで、指定した文字列で分割を行います。

moji = "Hello, World"
print(moji.split(","))
# >>> ['Hello', ' World']

先程の実行結果と違うのが、カンマで文字列を分割されてスペースは分割された文字列の1部に含まれています。更に「文字列の中にある2回めのlだけ分割したい」という条件が出てきたときには、第二引数で整数を指定することで左から指定した回数の文字で分割してくれます。

moji = "Hello, World"
print(moji.split(","))
# >>> ['He', '', 'o, World']

 

[PR] Pythonで挫折しない学習方法を動画で公開中

split()メソッドを利用して文字列を分割してみよう

それでは、文字列の分割をやっていきます。Pythonのコマンドラインツールを立ち上げて、以下の1行を実行し、今回使う文字列を定義します。

>>> link = "techacademy.jp/magazine"

まずは/で分割をしてみましょう。

>>> link.split("/")

実行結果は以下の通りになるかと思います。

[“techacademy.jp”, “magazine”]

もう少し細かく分割してみます。先程の文字列からaを区切り文字にして分割してみます。

>>> link.split("a")

全部で5つに分割されたかと思います。今度は左から2箇所のaで文字列を分割してみます。

>>> link.split("a", 2)

これで3つの文字列に分割されます。2回目のaまでは分割されましたがそれ以降のaは無視されました。

 

まとめ

今回はsplit()メソッドを使って文字列を分割してきました。

この方法を使用することで、今回紹介したようにURLを分割してみたり、ある法則性のある文字列を分割してリストで文字列の処理を行う際にとても便利になります。
 

監修してくれたメンター

メンター三浦

モバイルゲームを運用している会社のエンジニアをしています。趣味でWEB開発やクラウドコンピューティングもやっており、ソフトもハードもなんでもやります。

TechAcademyジュニアではPythonロボティクスコースを担当しています。好きな言語はPython, Node.js。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。