[Python] 文字列の分割。split、rsplit、splitlinesメソッドの使い方とre.splitで正規表現

Pythonで文字列を分割する方法を紹介します。

一般的には文字列を分割してリスト型に格納しますので、分割したワードごとに処理をしていくなど行います。

なお、文字列を連結する方法は以下の記事にまとめてありますので良かったら参考にしてください。

あわせて読みたい
[Python] 文字列の連結。formatメソッドやjoinなど様々の方法紹介 Pythonの文字列の連結方法を紹介します。 一般的な順に記載していますので、上から参考にしていっていただければ幸いです。 【formatメソッドを使用した連結】 文字列を...
目次

splitメソッドを使った文字列の分割

文字列を分割する時に最も一般な書き方はsplitメソッドになります。

文字列.split(デリミタ, 分割回数) 

で利用できます。

特に引数を指定しない場合、半角スペースがデリミタ(区切り文字)として利用されます。

サンプルは以下になります。

str1='apple banana orange pineapple'
print(str1.split())
# ['apple', 'banana', 'orange', 'pineapple']

また、デリミタを指定することも可能です。

以下のハイフン’-’をデリミタにしたサンプルです。

str1='apple-banana-orange-pineapple'
print(str1.split('-'))
# ['apple', 'banana', 'orange', 'pineapple']

分割回数を指定することも可能です。

サンプルは以下になります。

str1='apple-banana-orange-pinapple'
print(str1.split('-',1))
# ['apple', 'banana-orange-pinapple']
print(str1.split('-',2))
# ['apple', 'banana', 'orange-pinapple']

参考:組み込み型splitメソッド

splitlinesメソッドを使って改行コードで文字列の分割

改行コードで文字列を分割する際には、splitlinesメソッドを利用します。

文字列.splitlines() 

で利用できます。

以下がサンプルになります。

str1='one apple\ntwo banana\nthree orange\r\nfour pineapple'
print(str1.splitlines())
# ['one apple', 'two banana', 'three orange', 'four pineapple']

参考:組み込み型splitlines

rsplitメソッドを使って後ろから分割する

後方から分割する回数を指定する場合にrplitメソッドを使います。

文字列.rsplit(デリミタ,分割回数) 

で利用できます。 以下がサンプルになります。

str1='apple-banana-orange-pineapple'
print(str1.rsplit('-',1))
# ['apple-banana-orange', 'pineapple']

参考:組み込み型rsplit

正規表現で文字列分割

正規表現操作用のreライブラリを利用した文字列分割も可能です。

re.split(デリミタ,文字列,分割回数) 

で利用できます。 以下がサンプルになります。

str1='apple-banana-orange'
print(re.split('-',str1))
# ['apple', 'banana', 'orange']

もちろん拡張正規表現も利用できます。

import re

str1='apple1banana2orange'
#0から9に当てはまったら分割する
print(re.split('[0-9]',str1))
# ['apple', 'banana', 'orange']

参考:正規表現操作split

よかったらシェアしてね!
  • URLをコピーしました!
目次