【1分Python入門】splitlinesで文字列を改行で分割する方法

Python

splitlinesで文字列を改行で分割する方法について解説します。
非常に簡単なので1分間ほどで理解できます。

splitlines関数の文法

splitlines関数の使い方は次の通りです。

str.splitlines(keepends=False)

splitlines()は文字列型の値のメソッドとして使用します。
第一引数keependsにTrueを入力すると分割後の文字列に改行コードがついたままになります。
省略した場合は、Falseになり、分割後の文字列に改行コードはつかなくなります。
返却値は区切った単語のリストを返します。

例を見てみましょう。

>>> "abc\r\nefg\rhij\nklm".splitlines()
['abc', 'efg', 'hij', 'klm']

また、改行コードを文字列を残したい場合は次の例のようにkeepends=Trueを入力します。

>>> "abc\r\nefg\rhij\nklm".splitlines(keepends=True)
['abc\r\n', 'efg\r', 'hij\n', 'klm']

splitとの違い

split関数とsplitlines関数の違いを考えてみましょう。
返却値に改行コードが付与されなくとも問題ない場合はどちらを使っても構いません。

splitlines関数の場合

>>> "abc\r\nefg\rhij\nklm".splitlines()
['abc', 'efg', 'hij', 'klm']

split関数の場合

>>> "abc\r\nefg\rhij\nklm".split()
['abc', 'efg', 'hij', 'klm']

しかし、改行コードを残したい場合はsplitlines関数を使用する必要があります。

splitlines関数の場合

>>> "abc\r\nefg\rhij\nklm".splitlines(keepends=True)
['abc\r\n', 'efg\r', 'hij\n', 'klm']

split関数の場合(改行コードがない)

>>> "abc\r\nefg\rhij\nklm".split()
['abc', 'efg', 'hij', 'klm']

まとめ

改行コードがなくなっても問題ない場合は、split関数とsplitlines関数のどちらを使用しても問題ありませんが、改行コードを残す必要があるならsplitlines関数を使用しましょう

タイトルとURLをコピーしました