Pythonで文字列から空白を削除する方法

導入

Pythonには、文字列から空白を削除して新しい文字列オブジェクトを返すために使用できる3つのメソッドがあります。文字列のstripメソッドは、先頭の空白、末尾の空白、またはその両方を削除できます。空白を削除する方法や、すべての空白または重複するスペースのみを削除する方法など、空白を削除する詳細については、Pythonで文字列からスペースを削除する方法を参照してください。

空白には、スペース、タブ(\t)、復帰(\r)、および改行(\n)などのすべてのUnicode空白文字が含まれます。Pythonのstr()クラスには、文字列から空白を削除するために使用できる以下のメソッドがあります:

  • strip([chars]):文字列の両端から文字をトリムします。 charsが省略された場合、またはNoneの場合、先頭および末尾のすべての空白が削除された新しい文字列が返されます。
  • rstrip([chars]):文字列の右側から文字をトリムします。 charsが省略された場合、またはNoneの場合、末尾のすべての空白が削除された新しい文字列が返されます。
  • lstrip([chars]):文字列の左側から文字をトリムします。 charsが省略された場合、またはNoneの場合、先頭のすべての空白が削除された新しい文字列が返されます。

文字列の空白を削除する方法:ストリップメソッドの使用

次の例では、文字列から先頭のスペース、末尾のスペース、および先頭と末尾の両方のスペースを削除する方法を示しています:

s1 = '  shark  '
print(f"string: '{s1}'")

s1_remove_leading = s1.lstrip()
print(f"remove leading: '{s1_remove_leading}'")

s1_remove_trailing = s1.rstrip()
print(f"remove trailing: '{s1_remove_trailing}'")

s1_remove_both = s1.strip()
print(f"remove both: '{s1_remove_both}'")

出力は次のとおりです:

string: '  shark  '
remove leading: 'shark  '
remove trailing: '  shark'
remove both: 'shark'

同じストリップメソッドを使用して、文字列から複数の空白文字を削除する方法も次の例で示されています:

s2 = '  \n shark\n squid\t  '
print(f"string: '{s2}'")

s2_remove_leading = s2.lstrip()
print(f"remove leading: '{s2_remove_leading}'")

s2_remove_trailing = s2.rstrip()
print(f"remove trailing: '{s2_remove_trailing}'")

s2_remove_both = s2.strip()
print(f"remove both: '{s2_remove_both}'")

出力は次のとおりです:

Output
string: ' shark squid ' remove leading: 'shark squid ' remove trailing: ' shark squid' remove both: 'shark squid'

出力からわかるように、chars引数を省略してストリップメソッドを使用すると、文字列から先頭と末尾のスペース、改行、タブ文字のみが削除されます。文字列の先頭または末尾にない空白は削除されません。

ストリップメソッドを使用して特定の空白文字を文字列から削除する

また、chars引数を指定することで、文字列の先頭と末尾から文字または文字を削除することもできます。次の例では、文字列から先頭の改行文字のみを削除する方法を示しています:

s3 = '\n  sammy\n  shark\t  '
print(f"string: '{s3}'")

s3_remove_leading_newline = s3.lstrip('\n')
print(f"remove only leading newline: '{s3_remove_leading_newline}'")

出力は:

Output
string: ' sammy shark ' remove only leading newline: ' sammy shark '

出力によると、lstrip()メソッドは先頭の改行文字を削除しますが、文字列から先頭のスペースは削除しません。

stripメソッドは、指定した文字が最も外側の先頭と末尾の文字である場合にのみ削除します。たとえば、s3 = '\n sammy\n shark\t 'の後にスペースがあるため、rstrip()を使用して末尾のタブ文字のみを削除することはできません。

結論

この記事では、strip()rstrip()、およびlstrip()メソッドを使用して、文字列から先頭と末尾の空白を削除しました。文字列内のスペースや文字を削除する方法については、Pythonで文字列からスペースを削除する方法を参照してください。さらにPython文字列チュートリアルで学習を続けてください。

Source:
https://www.digitalocean.com/community/tutorials/python-trim-string-rstrip-lstrip-strip