Python 文字列の空白を削除する方法

  1. Python 文字列の先頭の空白を削除します
  2. Python 文字列の末尾の空白を削除します
  3. Python 文字列の先頭と末尾の両方の空白を削除します
  4. すべての空白を削除する
  5. 重複する空白のみを削除します

文字列内の空白を削除する方法を以下に紹介します。それらは基本的に 2つのカテゴリに分類できます。1つは Python 文字列オブジェクト str のメソッド、たとえば str.split()str.replace() です; もう 1つは Python 正規表現メソッドです。

次の例では、処理する文字列として文字列 " Demo Example " を使用します。

Python 文字列の先頭の空白を削除します

str.lstrip() 方法

>>> demo = " Demo  Example  "
>>> demo.lstrip()
"Demo  Example  "

ここで、str.lstrip() メソッドは、文字列の先頭から入力変数で指定された文字を削除します。入力変数が指定されていない場合は、先頭の空白を単に削除します。

Python 正規表現メソッド

>>> import re
>>> demo = " Demo  Example  "
>>> re.sub(r"^\s+", "", demo)
"Demo  Example  "

^ は文字列の先頭だけにマッチする文字を指定しました。\s はスペース、タブ、リターンなど、様々な空白記号にマッチするという意味です。つまり、後ろの文字セット [ \t\n\r\f\v] に相当します。+ は、できるだけ多くの空白にマッチする必要があることを示します。

Python 文字列の末尾の空白を削除します

str.rstrip() 方法

str.lstrip() メソッドに対応するメソッドは、文字列の先頭の空白を削除するために使用できます。str.rstrip() は、文字列の末尾の空白を削除するために使用できます。

>>> demo = " Demo  Example  "
>>> demo.lstrip()
" Demo  Example"

Python 正規表現メソッド

同様に、文字列の末尾の空白にマッチする式を使用する必要があります。

>>> import re
>>> demo = " Demo  Example  "
>>> re.sub(r"\s+$", "", demo)
" Demo  Example"

Python 文字列の先頭と末尾の両方の空白を削除します

str.strip() 方法

str.strip() は、文字列の先頭と末尾の空白を削除するための str.lstrip()str.rstrip() の組み合わせです。

>>> demo = " Demo  Example  "
>>> demo.strip()
"Demo  Example"

Python 正規表現 sub() メソッド

>>> import re
>>> demo = " Demo  Example  "
>>> re.sub(r"^\s+|\s+$", "", demo)
"Demo  Example"

すべての空白を削除する

Python 文字列置換メソッド str.replace()

空白の位置を確認する必要はありません。したがって、str.replace() メソッドを使用してすべての空白を空の文字列に置き換えることができます。

>>> demo = " Demo  Example  "
>>> demo.replace(" ", "")
'DemoExample'

Python 文字列正規表現の置換 sub() メソッド

正規表現は \s+、空白とマッチするだけです。

>>> import re
>>> demo = " Demo  Example  "
>>> re.sub(r"\s+", "", demo)
"DemoExample"

重複する空白のみを削除します

Python 文字列分割方法 str.split()

>>> demo = " Demo  Example  "
>>> " ".join(demo.split())
'Demo Example'

str.split() は文字列のサブ文字列のリストを返します。入力変数が空の場合、空白文字はデフォルトのセパレータです。

Python 正規表現の分割方法 re.split()

>>> import re
>>> demo = " Demo  Example  "
>>> " ".join(re.split(r"\s+", demo)
" Demo Example "
警告

re.split() とは str.split() どこ異なっている re.split() 文字列がこれらの位置に空白がある場合は先頭の空の文字列またはリストの最後になりますが、str.split() その結果の空の文字列が含まれていません。

re.split()str.split() の結果は違っています。re.split() の出力結果には空の文字列が含まれています、文字列の先頭や末尾に空白の文字が含まれていますが、str.split() メソッドの結果には空の文字列はありません。

関連記事 - Python String

  • Pythonic 方式で文字列が空であることを確認する方法
  • Python が文字列を日時 datetime に変換する方法
  • Python 2 および 3 で文字列を小文字に変換する方法
  • Python で文字列に部分文字列が含まれているかどうかを確認する方法
  • Python でリストを文字列に変換する方法
  • Python で文字列を浮動小数点または整数に変換する方法
  • Python で 1 行ずつリストに 1つのファイルを読み取る方法
  • Python で文字列をバイトに変換する方法
  • comments powered by Disqus