【簡単】Pythonで文字列を分割する方法 7つ全てを徹底解説

pythonPython

(最終更新月:2022年1月)

✔このような方へ向けて書かれた記事となります

「Pythonで文字列を分割したい!どうやるの?」

「色々な方法がありそうだけど、どれをどんなときに使えばいいのかな?」

「初心者だから、実際のコードもあったほうが助かるんだけど、、、」

✔当記事を通じてお伝えすること

  • 【簡単】Pythonで文字列を分割する方法 7つ全てを徹底解説
  • 7つの方法を使い分けよう!それぞれの方法でできること、できないこと

大きく分けると、

  1. 特定の文字を基準とし分割する方法
  2. 一つずつ分解してバラバラにする方法

にわかれます

順を追って全て解説していきますので、当記事を最後まで読めば文字列の分割について完全マスターとなります

profile_icon

【Python歴】10年 x 【営業マン歴】11年

HP作成、社内システムの構築、コンサルティング

Pythonベースのフレームワーク 「Django」を使って下記のようなサイトを作っています!

日報アプリ
当ブログで一から開発方法を解説している日報アプリ(デモ版)です
ツールアプリ
当ブログで紹介したPythonアプリのWeb版です。DjangoAPIとReactで開発。随時更新中です。

【簡単】Pythonで文字列を分割する方法 7つ全てを徹底解説

①splitメソッド

文字列.split(分割の基準となる文字, 最大分割数)

分割の基準となる文字を指定しない場合は、「空白、タブ、改行」などにより分割されます

最大分割数を指定しない場合は、制限なく該当する場合全てで分割が実行されます

【例】

>>> url_ = "https://itc.tokyo"
>>> url_.split("/")
['https:', '', 'itc.tokyo']
>>> url_.split("://")
['https', 'itc.tokyo']

基準とした文字は、分割したリストからは除外されるので注意しましょう

②splitlinesメソッド

文字列.splitlines()

改行を基準とし、分割します

【例】

>>> sentence = """
... おはようございます。
... #今日の積み上げ
... ・ブログ記事公開
... ・Webデザインの勉強
... コツコツ積み上げます。
... """
>>> sentence.splitlines()
['', 'おはようございます。', '#今日の積み上げ', '・ブログ記事公開', '・Webデザインの勉強', 'コツコツ積み上げます。']

③rsplitメソッド

文字列.rsplit(分割の基準となる文字, 最大分割数)

分割を右端から行います

【例】

>>> url_ = "https://itc.tokyo"
>>> url_.rsplit("t", 1)
['https://itc.', 'okyo']

④スライス

文字列[スタート:終わり:何個置きに]

オフセットを指定し、該当の部分を抜き出します

【例】

>>> url_ = "https://itc.tokyo"
>>> url_[1:5]
'ttps'

⑤listメソッド

list(文字列)

一文字ずつに分解し、リスト化します

【例】

>>> url_ = "https://itc.tokyo"
>>> list(url_)
['h', 't', 't', 'p', 's', ':', '/', '/', 'i', 't', 'c', '.', 't', 'o', 'k', 'y', 'o']

⑥forループ

forループを使い、一字ずつ分割ができます

>>> url_ = "https://itc.tokyo"
>>>url_ = "https://itc.tokyo/"
>>> for s in url_:
...     print(s)
... 
h
t
t
p
s
:
/
/
i
t
c
.
t
o
k
y
o
/

下記の用にリストにすることも可能です

>>> url_ = "https://itc.tokyo"
>>> string_list = []
>>> for s in url_:
...     string_list.append(s)
... 
>>> print(string_list)
['h', 't', 't', 'p', 's', ':', '/', '/', 'i', 't', 'c', '.', 't', 'o', 'k', 'y', 'o', '/']

⑦内包表記

forループを使用する方法をぐっと短くできる手法です

【例】

>>> url_ = "https://itc.tokyo"
>>> string_list = [s for s in url_]
>>> print(string_list)
['h', 't', 't', 'p', 's', ':', '/', '/', 'i', 't', 'c', '.', 't', 'o', 'k', 'y', 'o', '/']

この方法だと、条件分岐も使えます

>>> url_ = "https://itc.tokyo"
>>> string_list = [s for s in url_ if s != "/"]
>>> print(string_list)
['h', 't', 't', 'p', 's', ':', 'i', 't', 'c', '.', 't', 'o', 'k', 'y', 'o']

for文の場合も同様に条件分岐が使えます

7つの方法を使い分けよう!できること、できないこと

①splitメソッド

文字列.split(分割の基準となる文字, 最大分割数)

こんなときに使うと便利

  • 空白などで分割する基準がはっきりしているとき
  • 特定の文字を基準とすることがはっきりしているとき

こんなときは別の方法で

  • 基準とする文字が特定できないとき
  • 文字列の一部しか使用しないとき

②splitlinesメソッド

文字列.splitlines()

こんなときに使うと便利

  • 改行で分割することがはっきりしているとき

こんなときは別の方法で

  • 改行以外で分割したいとき

③rsplitメソッド

文字列.rsplit(分割の基準となる文字, 最大分割数)

こんなときに使うと便利

  • 最大分割数が決まっているとき
  • 文字列の最初の方は分割が不要とき

こんなときは別の方法で

  • 最大分割数に制限がないとき
  • 文字列の最初(左端)から分割する必要があるとき

④スライス

文字列[スタート:終わり:何個置きに]

こんなときに使うと便利

  • オフセットがわかっているとき
  • 一部を切り出したいとき

こんなときは別の方法で

  • 文字列自体を分けたいとき
  • 文字で分割を特定したいとき

⑤listメソッド

list(文字列)

こんなときに使うと便利

  • 一文字ずつ一気にリスト化したいとき

こんなときは別の方法で

  • リストに含めない文字が存在するとき

⑥forループ

forループを使い、一字ずつ分割ができます

こんなときに使うと便利

  • 一文字ずつリスト化したい
  • 特定の文字を含まないとき
  • 特定の文字に一定の処理を加えたいとき

こんなときは別の方法で

  • 単に一文字ずつリスト化したいとき
  • 一文字ずつではなく、特定の文字で分割したいとき

⑦内包表記

こんなときに使うと便利

  • forループをよりスッキリさせたいとき

こんなときは別の方法で

  • リスト化の際に処理が複雑なとき

まとめ

文字列を分割する方法をまとめると下記の通りでした

  1. splitメソッド
  2. splitnessメソッド
  3. rsplitメソッド
  4. スライス
  5. listメソッド
  6. forループ
  7. 内包表記

色々な場面で使えるので覚えておくと便利ですね!

忘れてしまった時はいつでもこちらのサイトに戻ってきてください!

初期費用ゼロ/月9,800円でWebデザインが学べる

デザインを習得するためには、客観的なフィードバックと改善が不可欠です。

以下の記事ではこんなWebデザインスクールをご紹介しています。

  • 初期費用ゼロで、月々9,800円のみ
  • オンラインで、教材が使い放題
  • コンテストや実務案件にチャレンジして報酬もGETできる

デザナルはトップデザイナーからレビューがもらえる、格安のWebデザインスクールです。

>>デザナルに興味がある方はこちらからどうぞ<<

詳細をまとめた記事もございますので、ぜひご覧ください。

Pythonでホームページが作れるのをご存知でしょうか?

当ブログでは、PythonをベースとしたDjangoフレームワークを使って一からホームページを作成、公開するまでを解説しているブログになります

最終的には、下記リンク先のような日報アプリを開発、公開できるように進めていきます

https://nippo.itc-app.site/
ようこそ!簡易日報アプリ「D-Repo」へ!こちらは無料で使える日報アプリのデモサイトになります!「Webアプリはとてもカンタンで便利!」を感じてみよう!

興味のある方はシリーズの記事が一覧となっている↓のページをご覧ください

【Django】チュートリアル|日報アプリの開発から公開まで
Djangoのチュートリアルをお探しですか?具体的に「手を動かして作ってみたい!」という方へ向けて、誰でもできる簡易的な日報アプリの開発を通じて、Djangoの様々な機能に触れていくシリーズとなっています。PythonでWebアプリを作りたい方、必見の記事となります!
タイトルとURLをコピーしました