Python:文字列のsplit()による分割とjoin()による結合

スポンサーリンク

文字列のsplit()による分割

組み込みの文字列関数split()を使えば、セパレータに基づいて文字列を分割し、部分文字列のリストを作ることができます。

セパレータを指定していないsplit()は、セパレータとして空白文字(改行、スペース、タブ)を使います。

>>> tmp = 'abc def ghi jkl'
>>> tmp.split()
['abc', 'def', 'ghi', 'jkl']
>>> tmp.split(',')
['abc def ghi jkl']
>>> tmp = 'abc,def,ghi,jkl'
>>> tmp.split(',')
['abc', 'def', 'ghi', 'jkl']

>>> tmp = 'abc::def::ghi::jkl'
>>> tmp.split('::')
['abc', 'def', 'ghi', 'jkl']
>>> tmp.split(':')
['abc', '', 'def', '', 'ghi', '', 'jkl']

また、maxsplitで分割の回数を指定できます。

>>> tmp.split(maxsplit=1)
['abc', 'def ghi jkl']

文字列のjoin()による結合

join()はsplit()の逆で、文字列のリストをひとつの文字列に結合します。

string.join(list)という形式になるので注意してください。

>>> tmp = ['abc', 'def', 'ghi', 'jkl']
>>> ''.join(tmp)
'abcdefghijkl'
>>> ' '.join(tmp)
'abc def ghi jkl'
>>> ','.join(tmp)
'abc,def,ghi,jkl'
>>> '\n'.join(tmp)
'abc\ndef\nghi\njkl'
>>> '::'.join(tmp)
'abc::def::ghi::jkl'