2から4までのさまざまなスペースで始まるテキスト文字列があります。
先頭の空白を削除する最も簡単な方法は何ですか?(つまり、特定のキャラクターの前にあるものをすべて削除しますか?)
" Example" -> "Example"
" Example " -> "Example "
" Example" -> "Example"
2から4までのさまざまなスペースで始まるテキスト文字列があります。
先頭の空白を削除する最も簡単な方法は何ですか?(つまり、特定のキャラクターの前にあるものをすべて削除しますか?)
" Example" -> "Example"
" Example " -> "Example "
" Example" -> "Example"
回答:
このlstrip()
メソッドは、文字列の先頭の先頭の空白、改行、およびタブ文字を削除します。
>>> ' hello world!'.lstrip()
'hello world!'
編集する
balphaがコメントで指摘したように、文字列の先頭からスペースのみを削除するために、lstrip(' ')
使用する必要があります:
>>> ' hello world with 2 spaces and a tab!'.lstrip(' ')
'\thello world with 2 spaces and a tab!'
関連する質問:
単語の前後の空白を削除したいが、中央の空白は残したい場合。
あなたは使うことができます:
word = ' Hello World '
stripped = word.strip()
print(stripped)
'Hello World'
することは注目に値します。疑問に思っている人は誰でも、元の質問が特に先頭のスペースを削除するように求めていたため、投票が拒否されたと思います。
質問では複数行の文字列は扱いませんが、Pythonの標準ライブラリtextwrapモジュールを使用して、複数行の文字列から先頭の空白を削除する方法を次に示します。次のような文字列がある場合:
s = """
line 1 has 4 leading spaces
line 2 has 4 leading spaces
line 3 has 4 leading spaces
"""
次のprint(s)
ような出力が得られる場合:
>>> print(s)
this has 4 leading spaces 1
this has 4 leading spaces 2
this has 4 leading spaces 3
そして私たちが使用した場合textwrap.dedent
:
>>> import textwrap
>>> print(textwrap.dedent(s))
this has 4 leading spaces 1
this has 4 leading spaces 2
this has 4 leading spaces 3