Python は、コードの可読性を重視した高水準の汎用プログラミング言語です。構造化プログラミング、オブジェクト指向プログラミング、関数型プログラミングなど、さまざまなプログラミングパラダイムをサポートしています。Pythonは、その充実した標準ライブラリのおかげで、よく「“batteries included”(バッテリー同梱)」と表現されます。
このガイドでは、Pythonで文字列から空白を削除するさまざまな方法を学びます。
前提条件
このガイドで説明する手順を実行するには、次のコンポーネントが必要です。
-
- 適切に設定されたLinuxマシン。例えば、 CloudSigma上のUbuntu VPS.
-
- 適切に設定されたPython開発環境。以下を参照してください: UbuntuでのPython開発環境の設定.
-
- 適切なテキストエディタ。例えば、 Brackets, VS Code, Sublime Text, Vim/NeoVim など。
ステップ 1 – Pythonスクリプトの作成
デモンストレーションのために、Pythonスクリプト remove-space.py を作成し、そこにすべてのコードを記述します。その後、Pythonインタプリタを使用してスクリプトを実行します。
まず、Pythonスクリプトを作成します。
|
1 |
touch remove-space.py |

テキストエディタでスクリプトを開きます:
|
1 |
nano remove-space.py |

次に、文字列変数 s を作成し、文字列を代入します:
|
1 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' |

もし print() 関数を含めると、文字列がどのように解釈されるかを確認できます:
|
1 2 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s) |

ここで、
-
- The
print()関数は文字列を引数として受け取っています。
- The
-
- The
print()関数はバックスラッシュ文字を解釈できます。
- The
スクリプトを実行します:
|
1 |
python remove-space.py |

ステップ 2 – 先頭/末尾のスペースの削除
With the help of the strip() 関数を使用すると、文字列の先頭と末尾の文字を削除できます。
次のコードは、strip() 関数を変数 s に適用する例を示しています。:
|
1 2 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.strip()) |


なお、strip() 関数は先頭と末尾のすべてのスペースを削除します。先頭または末尾のスペースのみを削除したい場合は、それぞれ lstrip() または rstrip() を使用します:
|
1 2 3 4 5 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.strip()) print(s.lstrip()) print(s.rstrip()) |


ステップ 3 – すべての空白の削除
With the help of the replace() 関数を使用すると、文字列内のコンテンツを置換できます。この機能を利用して、すべての空白を何もない状態に置換することで、空白を削除できます。
実際に replace() 関数を使ってみましょう。次のコードを確認してください:
|
1 2 3 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.replace(" ", "")) |


ここで、
-
- The first parameter of
replace()の最初のパラメータは、指定された文字列内で検索するパターンを指定します。
- The first parameter of
-
- The second parameter of
replace()の2番目のパラメータは、置換後のコンテンツを指定します。
- The second parameter of
ステップ 4 – split() と join() を使用した空白の削除
このセクションでは、split() と join() 関数を使用します。
-
split():文字列を受け取り、リストに分割します。分割ポイントは区切り文字によって決定されます。
-
join():リストを受け取り、それを1つの文字列に戻します。各パーツは単一の空白(” “)を使用して結合されます。
これらの関数を実際に使ってみましょう。次のコードをご覧ください:
|
1 2 3 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(" ".join(s.split())) |


ここで、
-
- 1行の中で、
split(),、join()、およびprint()の使用を組み合わせています。
- 1行の中で、
-
- The output of the
split()関数の出力が、join()関数の引数として渡されます。
- The output of the
-
- The output of the
join() の出力です。関数が引数としてprint()関数に渡されます。
- The output of the
ステップ 5 – 次を使用した空白の削除: translate()
Pythonでは、translate() 関数は、指定された文字を辞書またはマッピングテーブルで定義された文字に置換します。
この例では、次の辞書を使用します: string.whitespace。これにはすべての空白文字が含まれています。
以下のコードをご覧ください。
|
1 2 3 4 5 |
import string s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.translate({ord(c): None for c in string.whitespace})) |


ステップ 6 – 正規表現を使用した空白の削除
正規表現(略して「regex」)は、多くのプログラミング言語における強力な機能です。正規表現は、検索パターンを構築する一連の文字で構成されます。正規表現を使用すると、文字列に指定されたパターンが含まれているかどうかを確認できます。
Pythonも正規表現をサポートしており、テキスト操作機能が大幅に向上しています。このセクションでは、正規表現を使用して、テスト文字列に含まれるすべての空白文字を削除します。
以下のコードをご覧ください。
|
1 2 3 4 5 6 7 8 9 10 11 |
import re s = ' the quick BROWN fox \t\n\r\tjumps away ' print('すべてのスペースを削除:\n', re.sub(r"\s+", "", s), sep='') # \s はすべての空白文字に一致します print('先頭のスペースを削除:\n', re.sub(r"^\s+", "", s), sep='') # ^ は先頭に一致します print('末尾のスペースを削除:\n', re.sub(r"\s+$", "", s), sep='') # $ は末尾に一致します print('先頭と末尾のスペースを削除:\n', re.sub(r"^\s+|\s+$", "", s), sep='') # | はOR条件を表します |


ここで、
-
- ここでは、正規表現を扱うための専用パッケージである
reをインポートしています。
- ここでは、正規表現を扱うための専用パッケージである
最後に
このガイドでは、Pythonで文字列内の空白を処理するさまざまな方法を紹介しました。その過程で、次のようなさまざまな関数の簡単な使い方も学びました: split(), join(), replace(), translate() など。
Pythonについてさらに詳しく知りたいですか? 以下のガイドをご覧ください。
コメント
コメントはまだありません。最初のコメントを投稿しましょう。