文字列を分割する

Pythonでsplitを使って文字列を分割します。

目次

  1. 文字列オブジェクトのsplitメソッド
  2. splitを試してみた

文字列オブジェクトのsplitメソッド

文字列オブジェクトのメソッドとして、splitというメソッドがあります。その名の通り、分割をするものです。

list = S.split(sep, maxsplit)
変数 内容
S 分割される文字列
sep デリミタ文字列(分割に使う文字列)。規定値はNone。Noneの場合は空白文字で分割する。
maxsplit 最大分割数。規定値は-1。-1の場合はできる限り分割する。
list 分割された文字列のリスト

splitを試してみた

splitの引数に何もしてしないと、スペースで分割されます。maxsplitに1を指定すると、2分割されます。

>>> S = 'Forget me not'
>>> S
'Forget me not'

>>> S.split()
['Forget', 'me', 'not']

>>> S.split(maxsplit=1)
['Forget', 'me not']

文字を指定して分割してみます。

>>> S = 'Forget-me-not Wasurenagusa'
>>> S.split('-')
['Forget', 'me', 'not Wasurenagusa']

指定した文字で分割され、空白文字では分割されませんでした。

空白文字というのはタブも含まれるのでしょうか。

>>> S = 'Forget-me-not  Wasurenagusa'
>>> S
'Forget-me-not\tWasurenagusa'
>>> S.split()
['Forget-me-not', 'Wasurenagusa']

タブで分割されましたね。

では、スペースとタブが混じっている場合はどうでしょうか。

>>> S = 'Forget me not  Wasurenagusa'
>>> S
'Forget me not\tWasurenagusa'
>>> S.split()
['Forget', 'me', 'not', 'Wasurenagusa']

両方で分割してくれました。

広告

Pythonの文字列処理カテゴリの投稿