Python - 文字列を分割する

区切り文字で分割: split()

区切り文字で分割する場合は split 関数を使います。引数を省略した場合、空白文字で分割します。空白文字にはスペースや改行、タブが含まれ、連続する空白文字はまとめて処理されます。

str = "1 2 3"

print(str.split()) # ["1", "2", "3"]
区切り文字で分割: split()

split 関数は、第一引数で区切り文字を指定できます。

str = "1,2,3"

print(str.split(",")) # ["1", "2", "3"]
区切り文字で分割: split()

split 関数は、第二引数で最大分割回数を指定できます。

str = "1,2,3,4,5"

print(str.split(",", 2)) # ["1", "2", "3,4,5"]
区切り文字で分割: split()

区切り文字で右から分割: rsplit()

rsplit 関数は split 関数の右から分割する関数です。

str = "1,2,3,4,5"

print(str.rsplit(",", 2)) # ["1,2,3", "4", "5"]
区切り文字で右から分割: rsplit()

改行で分割: splitlines()

splitlines 関数は、改行で分割する関数です。改行は LF (\n)CR+LF (\r\n) が対象になります。

str = "1\n2\r\n3"

print(str.splitlines()) # ["1", "2", "3"]
改行で分割: splitlines()

正規表現にマッチした部分で分割: re.split()

正規表現にマッチした文字列で分割したい場合は re モジュールの split 関数を使います。第一引数に正規表現パターン、第二引数に対象の文字列を指定します。

import re

str = "abc123xyz456"

print(re.split("\d+", str)) # ["abc", "xyz", ""]
正規表現にマッチした部分で分割: re.split()

第三引数に最大分割回数を指定することができます。

import re

str = "abc123xyz456"

print(re.split("\d+", str, 1)) # ["abc", "xyz456"]
正規表現にマッチした部分で分割: re.split()

文字数で分割: スライス

スライスで文字列を分割するには [start:end] のように始点と終点を指定します。始点と終点を指定した場合、start <= x < end の範囲の文字列が抽出できます。start を省略すると先頭から、end を省略すると末尾までが範囲となります。

str = "abc123"

print(str[:3]) # abc
print(str[3:]) # 123
文字数で分割: スライス
0
SHARE
Twitter
@murashun
お問い合わせ
murashun@gmail.com
ご質問(マシュマロ)
https://marshmallow-qa.com/murashun
ご支援(Stripe)
https://checkout.stripe.com/