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']
splitlinesメソッドを使って改行コードで文字列の分割
改行コードで文字列を分割する際には、splitlinesメソッドを利用します。
文字列.splitlines()
で利用できます。
以下がサンプルになります。
str1='one apple\ntwo banana\nthree orange\r\nfour pineapple'
print(str1.splitlines())
# ['one apple', 'two banana', 'three orange', 'four pineapple']
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