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

胡金庫 2023年1月30日
  1. Python 文字列の先頭の空白を削除する
  2. Python 文字列の末尾の空白を削除する
  3. Python 文字列の先頭と末尾の両方の空白を削除する
  4. すべての空白を削除する
  5. 重複する空白のみを削除する
Python 文字列の空白を削除する方法

文字列内の空白を削除する方法を以下に紹介します。それらは基本的に 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() メソッドの結果には空の文字列はありません。

著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

DelftStack.comの創設者です。Jinku はロボティクスと自動車産業で8年以上働いています。自動テスト、リモートサーバーからのデータ収集、耐久テストからのレポート作成が必要となったとき、彼はコーディングスキルを磨きました。彼は電気/電子工学のバックグラウンドを持っていますが、組み込みエレクトロニクス、組み込みプログラミング、フロントエンド/バックエンドプログラミングへの関心を広げています。

LinkedIn Facebook

関連記事 - Python String