【Python】文字列から空白・スペースを削除する方法(先頭、末尾、連続)
2021.08.01 /
本記事ではPythonで文字列から空白(スペース)を削除する方法について解説しています。
Pythonでプログラムを作成していると、文字列から空白を削除したい場面があります。
そういった場合に使えるメソッドがPythonには用意されています。
先頭や末尾の空白を削除したいときや、連続する空白を1つにしたい場合でも、Pythonのメソッドを使えば簡単に実現できます。
またテキストファイルを操作する際に「空白(スペース)」だけでなく「改行」も削除することが多いです。文字列から「改行」を削除する方法については以下記事をご参照ください。
【Python】改行コード(\n)を文字列から削除する方法:replace()、strip()
本記事を通して以下の知識を学べます。
- すべての空白を削除する方法
- 先頭や末尾の空白を削除する方法
- 連続する空白を1つの空白のみにする方法
文字列から空白をすべて削除する:replace()
文字列から空白(スペース)をすべて削除するためには、replace()メソッドを使用します。
>>> str = ‘ Hello, world! ’
>>> str.replace(' ', '')
'Hello,world!'
replace()メソッドは、文字列に含まれる特定の文字列を別の文字列で置き換えることができます。
replace()メソッドには次のように3つの引数を渡すことができます。
replace(old, new [, count])
oldには置き換える文字列、newには置き換え後の文字列を指定します。
countは必須ではありませんが、置き換える個数を指定できます。
そのため引数oldに空白、引数newに何も指定しなければ文字列から空白を削除できるのです。
文字列から先頭の空白を削除する:lstrip()
文字列から先頭の空白を削除するためには、lstrip()メソッドを使用します。
>>> str = ‘ Hello, world! ’
>>> str.lstrip()
‘Hello, world! ’
lstrip()メソッドは、引数を省略することで文字列の先頭から空白文字(スペース、タブ、改行)を削除した文字列を返します。
文字列から末尾の空白を削除する:rstrip()
文字列から末尾の空白を削除するためには、rstrip()メソッドを使用します。
>>> str = ‘ Hello, world! ’
>>> rtr.lstrip()
‘ Hello, world! ’
rstrip()メソッドは、引数を省略することで文字列の末尾から空白文字(スペース、タブ、改行)を削除した文字列を返します。
文字列から先頭と末尾の空白を削除する:strip()
文字列から先頭と末尾の空白を削除するためには、strip()メソッドを使用します。
既述しているlstrip()メソッドとrstrip()メソッドの機能を持ち合わせています。
>>> str = ‘ Hello, world! ’
>>> str.strip()
‘Hello, world!’
strip()メソッドは、引数を省略することで文字列の先頭と末尾から空白文字(スペース、タブ、改行)を削除した文字列を返します。
文字列から連続する空白(スペース)を1つの空白に置き換える:split()
文字列から連続する空白(スペース)を1つの空白に置き換えるには、split()メソッドとjoin()メソッドを使用します。
>>> str = 'Hello, world!'
>>> ''.join(str.split())
'Hello,world!'
split()メソッドは、前方から引数で指定された区切り文字で分割し、リストで出力します。
引数を省略すると、空白文字(スペース、タブ、改行)を区切り文字として文字列を分割します。
>>> str = 'Hello, world!'
>>> str.split()
['Hello,', 'world!']
join()メソッドは、渡された文字列のリストを連結して返します。
またリストを連結する際に、指定した文字列を間に挿入します。
これらsplit()メソッドとjoin()メソッドを組み合わせることにより、連続する空白を1つの空白に置き換えることができるのです。
まとめ
本記事「【Python】文字列から空白・スペースを削除する方法(先頭、末尾、連続)」はいかがでしたか。
私は仕事でPythonを使ってプログラムを作成することが多々あります。
その際に文字列から空白(スペース)を削除する必要がある場面は多々あります。
本記事で紹介したメソッドは、様々な場面で利用できますので、ぜひ覚えて使ってみてください。