Pythonの文字列の先頭(末尾)の文字列を削除する

Pythonで文字列の先頭の数文字を取り除きたいときや末尾の数文字を取り除きたいときに、スライスを使うと簡易に取り除けます。

目次

  1. 文字列の先頭から何文字か取り除く
  2. 文字列の末尾から何文字か取り除く

文字列の先頭から何文字か取り除く

文字列を格納した変数sの、先頭の文字を取り除いてみます。

文字列の変数を文字が並んだリストと考えて、インデックスを指定してアクセスします。先頭のインデックスが0ですので、[1:]と指定するとインデックス1から後ろ全てとなります。これを別の変数に代入すれば良いわけです。

>>> s = 'いろはにほへと'
>>> s[1:]
'ろはにほへと'

2文字削除したい場合は、インデックスを2にします。

>>> s = 'いろはにほへと'
>>> s[2:]
'はにほへと'

文字列の末尾から何文字か取り除く

インデックスを負の整数にすると、末尾からインデックスをカウントします。

インデックスはリストの要素と要素の間を示すと考えるとわかりやすいのではないかと思うのですが、-1というインデックスは末尾の要素とその1つ前の要素の間を指します。ですから、[:-1]としていすると、末尾の要素の前の要素から全てという指定になります。

>>> s = 'いろはにほへと'
>>> s[:-1]
'いろはにほへ'

>>> s = 'いろはにほへと'
>>> s[:-2]
'いろはにほ'

広告

Pythonの文字列処理カテゴリの投稿