Python Python 文字列から 改行・空白スペース を削除する「strip()・lstrip()・rstrip()・replace()」

Python 文字列から 改行・空白スペース を削除する「strip()・lstrip()・rstrip()・replace()」

python_new_line_strip_replace_topimage

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」が削除されました。

It’s a beautiful day today.


注意すべき事として元の文字列が置き換えられたわけではありません

str = " It's a beautiful day today.\n"

print(str.strip())

print(str)
print("---")


結果:

It’s a beautiful day today.
 It’s a beautiful day today.

.lstrip()文字列の先頭の空白を削除をする

文字列の前から空白と改行を削除するには.lstrip()を使います。

文字列.lstrip(“削除したい文字列”)

.lstrip()は文字列の前にある指定の文字列を削除する事が出来ます。削除する文字列を指定しない場合は「空白」・「改行コード」を削除します。

str = " It's a beautiful day today.\n"

print(str.lstrip())
print("---")


結果:

先頭の”半角スペース”が削除されました。末尾の「改行\n」は残っています。

It’s a beautiful day today.

.rstrip()文字列の末尾の空白を削除する

文字列の後ろから空白と改行を削除するには.rstrip()を使います。

文字列.rstrip(“削除したい文字列”)

.rstrip()は文字列の後ろにある指定の文字列を削除する事が出来ます。
削除する文字列を指定しない場合は「空白」・「改行コード」を削除します。

str = " It's a beautiful day today.\n"

print(str.rstrip())
print("---")


結果:

文字列の末尾にあった「改行\n」が削除されました。先頭の”半角スペース”は残っています。

 It’s a beautiful day today.

置き換えメソッド.replace()を使う

strip()・lstrip()・rstrip() は文字列の先頭と末尾にある「空白」・「改行」を削除する事ができますが、文字列の中に含まれた 「空白」・「改行」を削除する事は出来ません。

文字列の中に含まれた 「空白」・「改行」を削除する場合は、文字列の特定の文字を置き換えるメソッド.replace()を使います。

文字列.replace(“置き換える文字”,”置き換えられる文字”)

まずreplace()を使って文字列の特定の文字列を置き換えるには以下のように書きます。

str = "tokushima"
print(str.replace("toku","hiro"))


結果:

文字列の “toku” が “hiro” に置き換えられました

hiroshima


ちなみに、.strip()と同様に元の文字列が置き換えられたわけではありません

str = "tokushima"
str.replace("toku","hiro")
print(str)


結果:

tokushima


文字列の特定の文字を置き換えるメソッドに .replace() を使って「空白」・「改行」を削除します。

str = " It's a beautiful day today.\n"

print(str.replace(" ",""))
print("---")


説明:

文字列中の”半角スペース”を削除します

結果:

先頭だけでなく文字列の中に含まれる半角スペースも削除されました。改行\nは残っています。

It’sabeautifuldaytoday.

まとめ

Pythonで文字列から空白と改行を取り除く方法を紹介しました。

文字列の先頭と末尾から空白・改行を削除する場合は
文字列.strip()

文字列の先頭から空白・改行を削除する場合は
文字列.lstrip()

文字列の末尾から空白・改行を削除する場合は
文字列.rstrip()

文字列を置き換えて空白・改行を削除する場合は
文字列.replace()



文字列を読み込んで操作加工する際に上手くいかず右往左往しないように、「空白」・「改行」の削除を忘れずに。



BTOパソコンの草分け的ブランド【FRONTIER】

教育機関や研究施設/3DCG/動画編集/そしてゲームプレイにも、用途に合わせたオーダーメイド高性能PCがお得な価格で購入できます

メモリ無償アップ!\新生活応援セール!!/4月15日(木)15時まで

入学や就業など何かと物入りな季節。圧倒的コスパのBTOパソコンを購入して新生活をスタートしませんか!

■AMD Ryzen 7 3700X + NVIDIA GeForce RTX 3060 モデルが149,800円!! 
■intel Core i5-10400F + NVIDIA GeForce RTX 3060 モデルが124,800円!!

他 お買い得PCが沢山!SALE製品は数に限りがあるので売り切れる前に是非
最新GPUも格安構成も自由に選べる!パソコン買うならBTOの【FRONTIER】


【デジハリONLINEの 基礎動画 + AdobeCC一年ライセンス のお得プラン】

デジタルハリウッドのオンラインCGスクール「デジハリONLINE」が提供する、60時間の基礎動画とAdobe creative cloudの一年版ライセンスがパッケージされた、お得な講座プラン

「Adobeマスター講座」

受講ノルマは一切無し、Adobe製品の利用を目的に契約してもOK!これぞコスパ最強プラン!

▶︎ デジハリONLINE講座申込

▶︎基礎動画教材付きAdobe Creative Cloudを年額36,346円(税別)のお得な価格で使用する方法


ネットショッピングをする感覚で講座を購入し、動画を視聴して学習するシステムのUdemy

そのUdemyで評価が高いPythonの人気講座といえば、現役シリコンバレーエンジニア「酒井潤」講師の講座。 Pythonの書き方だけでなくシリコンバレー仕込みの Pythonic(パイソニック)と称されるPythonらしいコードの記述方法や実務での所作まで学べます。


「現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル」
現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です!

Twitter Facebook Pocket LINE はてブ

おすすめの関連記事
コチラの記事も読まれています
あわせてよく読まれている記事