Pythonの文字列からスペースを削除する方法

はじめに

このチュートリアルでは、Pythonで文字列から空白を削除するさまざまな方法の例を提供します。

A Python String is immutable, so you can’t change its value. Any method that manipulates a string value returns a new string.

DigitalOcean App Platformを使用してGitHubからPythonアプリケーションを展開します。DigitalOceanにアプリのスケーリングを任せましょう。

このチュートリアルの例では、さまざまなスペースを削除する方法をデモンストレーションするために、コマンドラインでPython対話型コンソールを使用します。 以下の文字列を使用します:

s = '  Hello  World   From DigitalOcean \t\n\r\tHi There  '

出力は:

Output
Hello World From DigitalOcean Hi There

この文字列には、スペース( )、タブ(\t)、改行(\n)、および復帰(\r)など、異なるタイプの空白文字と改行文字が含まれています。

strip()メソッドを使用して先頭と末尾のスペースを削除する

Pythonの文字列strip()メソッドは、文字列から先頭と末尾の文字を削除します。 デフォルトの削除文字はスペースです。

文字列変数を宣言します:

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

使用strip()方法去除前导和尾随空格:

  1. s.strip()

输出是:

Output
'Hello World From DigitalOcean \t\n\r\tHi There'

如果您只想移除前导空格或尾随空格,则可以使用lstrip()rstrip()方法。

使用replace()方法删除所有空格

您可以使用replace()方法从字符串中删除所有空白字符,包括单词之间的空格。

声明字符串变量:

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

使用replace()方法将空格替换为空字符串:

  1. s.replace(" ", "")

输出是:

Output
'HelloWorldFromDigitalOcean\t\n\r\tHiThere'

使用join()split()方法去除重复空格和换行字符

join()メソッドとsplit()メソッドを使用して、重複する空白と改行文字をすべて削除することができます。この例では、split()メソッドが文字列をデフォルトの区切り文字である空白文字でリストに分割します。その後、join()メソッドがリストを単一の文字列に結合し、各単語の間に単一のスペース(" ")を挿入します。

文字列変数を宣言します:

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

join()メソッドとsplit()メソッドを組み合わせて、重複するスペースと改行文字を削除します:

  1. " ".join(s.split())

出力は次のとおりです:

Output
'Hello World From DigitalOcean Hi There'

translate()メソッドを使用してすべてのスペースと改行文字を削除する

translate()メソッドを使用して、すべての空白と改行文字を削除することができます。translate()メソッドは、指定した文字を辞書またはマッピングテーブルで定義された文字で置き換えます。次の例では、string.whitespace文字列定数を使用したカスタム辞書を使用しています。カスタム辞書{ord(c): None for c in string.whitespace}string.whitespaceのすべての文字をNoneで置き換えます。

stringモジュールをインポートしてstring.whitespaceを使用できるようにします:

  1. import string

文字列変数を宣言します:

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

translate()メソッドを使用して、すべての空白文字を削除します:

  1. s.translate({ord(c): None for c in string.whitespace})

出力は次のとおりです:

Output
'HelloWorldFromDigitalOceanHiThere'

正規表現を使用して空白文字を削除する

re.sub()関数を使用して、正規表現に一致する空白文字を削除することもできます。

この例では、regexspaces.pyというファイルを使用して、正規表現を使用して空白文字を削除する方法を示しています。

regexspaces.py
import re

s = '  Hello  World   From DigitalOcean \t\n\r\tHi There  '

print('Remove all spaces using regex:\n', re.sub(r"\s+", "", s), sep='')  # \sはすべての空白文字に一致します
print('Remove leading spaces using regex:\n', re.sub(r"^\s+", "", s), sep='')  # ^は開始に一致します
print('Remove trailing spaces using regex:\n', re.sub(r"\s+$", "", s), sep='')  # $は終了に一致します
print('Remove leading and trailing spaces using regex:\n', re.sub(r"^\s+|\s+$", "", s), sep='')  # |はOR条件です

コマンドラインからファイルを実行します:

python3 regexspaces.py

以下の出力が得られます:

Remove all spaces using regex:
HelloWorldFromDigitalOceanHiThere
Remove leading spaces using regex:
Hello  World   From DigitalOcean 	
	Hi There  
Remove trailing spaces using regex:
  Hello  World   From DigitalOcean 	
	Hi There
Remove leading and trailing spaces using regex:
Hello  World   From DigitalOcean 	
	Hi There

結論

このチュートリアルでは、Pythonで文字列から空白文字を削除するために使用できるいくつかの方法を学びました。 Pythonの文字列に関する学習を続けてください。

Source:
https://www.digitalocean.com/community/tutorials/python-remove-spaces-from-string