Python: 文字列を分割する split()
Pythonで文字列を指定した文字で分割する場合は、 split()メソッドを使います。
書式
文字列.split(区切り文字) # 最大分割数を指定する場合 文字列.split(区切り文字, 最大分割数) 文字列.split(区切り文字, maxsplit=最大分割数)
戻り値はリストです。
区切り文字を指定しない場合は、
空白文字(改行、タブ、スペースなど)で分割されます。
第2引数で最大分割数を指定できます。
「maxsplit=」の部分は省略可能です。
第2引数を指定した場合、最大分割数 + 1 の要素を持つリストが返って来ます。
# カンマで分割 li = s.split(",") # タブで分割 li = s.split("\t") # 改行で分割 li = s.split("\n")
では実際にsplit()による分割処理をしてみます。
s = "a,b,c,d" # カンマで分割 li = s.split(",") print(li) # ['a', 'b', 'c', 'd']
第2引数の最大分割数を指定した場合は次のように、 指定した分割数+1の要素を持つリストとなります。
s = "a-b-c-d" li = s.split("-", 2) print(li) # ['a', 'b', 'c-d']
次のように「maxsplit=」を記述しても結果は同じです。
li = s.split("-", maxsplit=2)
区切り文字を省略した場合
区切り文字を省略した場合は、 スペース・タブ・改行などの空白文字で分割されます。
# スペース、タブ、改行が混ざっている文字列 s = "a b \tc\nd " li = s.split() print(li) # ['a', 'b', 'c', 'd']