Pythonでテキストファイルから文字列を読み込んで、その文字列を操作する場面で邪魔になるのが、無駄な「空白」・「改行」です。
なのでテキストファイルから読み込んだ文字列をそのまま使用する場合は問題ないのですが、文字列を操作加工する場合はその前に、何らかの方法で「空白」や「改行」を削除する必要があります。
この記事ではPythonで文字列からスペースやタブで出来た「空白」そして「改行」を取り除く方法を紹介します。
|
空白・改行とは
文字列に含まれる「空白」や「改行コード」には以下のようなものがあります。
” It’s a beautiful day today.\n”
このように文字列に空白や改行が含まれていると文字列操作の際に厄介なので、取り除く必要があります。
半角スペース | ” “ |
全角スペース | ” ” |
改行 | \n |
タブ | \t |
垂直タブ | \v |
改ページ | \f |
復帰 | \r |
.strip()文字列の先頭と末尾の空白を削除する
文字列の前後から空白と改行を削除するには.strip()を使います。
文字列.strip(“削除したい文字列”)
.strip()は文字列の前後にある指定の文字列を削除する事が出来ますが、文字列を指定しない場合は「空白」・「改行コード」を削除します。
str = " It's a beautiful day today.\n"
print(str.strip())
説明:
文字列の前後にある”半角スペース”と改行\nを削除します。
結果:
文字列の先頭と末尾にあった「空白」と「改行\n」が削除されました。
注意すべき事として元の文字列が置き換えられたわけではありません
str = " It's a beautiful day today.\n"
print(str.strip())
print(str)
print("---")
結果:
It’s a beautiful day today.
—
|
.lstrip()文字列の先頭の空白を削除をする
文字列の前から空白と改行を削除するには.lstrip()を使います。
文字列.lstrip(“削除したい文字列”)
.lstrip()は文字列の前にある指定の文字列を削除する事が出来ます。削除する文字列を指定しない場合は「空白」・「改行コード」を削除します。
str = " It's a beautiful day today.\n"
print(str.lstrip())
print("---")
結果:
先頭の”半角スペース”が削除されました。末尾の「改行\n」は残っています。
—
.rstrip()文字列の末尾の空白を削除する
文字列の後ろから空白と改行を削除するには.rstrip()を使います。
文字列.rstrip(“削除したい文字列”)
.rstrip()は文字列の後ろにある指定の文字列を削除する事が出来ます。
削除する文字列を指定しない場合は「空白」・「改行コード」を削除します。
str = " It's a beautiful day today.\n"
print(str.rstrip())
print("---")
結果:
文字列の末尾にあった「改行\n」が削除されました。先頭の”半角スペース”は残っています。
—
置き換えメソッド.replace()を使う
strip()・lstrip()・rstrip() は文字列の先頭と末尾にある「空白」・「改行」を削除する事ができますが、文字列の中に含まれた 「空白」・「改行」を削除する事は出来ません。
文字列の中に含まれた 「空白」・「改行」を削除する場合は、文字列の特定の文字を置き換えるメソッド.replace()を使います。
文字列.replace(“置き換える文字”,”置き換えられる文字”)
まずreplace()を使って文字列の特定の文字列を置き換えるには以下のように書きます。
str = "tokushima"
print(str.replace("toku","hiro"))
結果:
文字列の “toku” が “hiro” に置き換えられました
ちなみに、.strip()と同様に元の文字列が置き換えられたわけではありません
str = "tokushima"
str.replace("toku","hiro")
print(str)
結果:
文字列の特定の文字を置き換えるメソッドに .replace() を使って「空白」・「改行」を削除します。
str = " It's a beautiful day today.\n"
print(str.replace(" ",""))
print("---")
説明:
文字列中の”半角スペース”を削除します
結果:
先頭だけでなく文字列の中に含まれる半角スペースも削除されました。改行\nは残っています。
—
まとめ
Pythonで文字列から空白と改行を取り除く方法を紹介しました。
文字列.strip()
文字列の先頭から空白・改行を削除する場合は
文字列.lstrip()
文字列の末尾から空白・改行を削除する場合は
文字列.rstrip()
文字列を置き換えて空白・改行を削除する場合は
文字列.replace()
文字列を読み込んで操作加工する際に上手くいかず右往左往しないように、「空白」・「改行」の削除を忘れずに。
|
|
|
BTOパソコンの草分け的ブランドFRONTIER(フロンティア) 3DCG/動画編集/ゲーム用途に合わせてCPUやGPUなどパーツを自由に選べてコスパにもこだわる方にオススメ。 |
|
|
|
|
|