文字列を扱うコードを書いていると、文字列中のスペースを削除したい場面に幾度となく出くわす。そのような場合には、strip() や replace() 、 split() を使用する。
strip() を使用する場合
strip() は文字列の先頭と末尾のスペースを削除してくれる関数。
>>> str = ' Hello world '
>>> str.strip()
'Hello world'
文字列の先頭(left)のスペースのみを削除したい場合には lstrip()
、末尾(right)のみを削除したい場合には rstrip()
を使用する。
>>> str.lstrip()
'Hello world '
>>> str.rstrip()
' Hello world'
なお、スペースが複数続く場合は全て削除される。
>>> str = ' Hello world '
>>> str.strip()
'Hello world'
replace() を使用する場合
先頭や末尾のみだけではなく、文字列中のスペースも削除したい場合には replace() を使うと良い。
>>> str = ' Hello world '
>>> str.replace(' ', '')
'Helloworld'
上記の例では、シングルスペースをスペース無しに置換(replace)している。
この使い方の場合、 strip() と同様にスペースが複数続く場合には全て削除される。
応用編として、ダブルスペースをシングルスペースに変更するような使い方もできる。
>>> s = ' Hello world '
>>> s.replace(' ', ' ')
' Hello world '
>>> s = ' Hello world '
>>> s.replace(' ', ' ')
' Hello world '
1つ目の例では、前後のダブルスペースがシングルスペースに置き換わっている。
2つ目の例では、真ん中のダブルスペースがシングルスペースに置き換わっている。