Python: 文字列の切り出し(範囲取得)方法 []

切り出し(範囲取得) []

Pythonで文字列の一部を切り出したい(範囲取得したい)場合は、 次のように [] を使って指定します。

書式
文字列[開始インデックス:終了インデックス + 1]

先頭文字のインデックスは「0」です。

s = "abcde"

# 先頭から3文字目まで
print(s[0:3])  # abc

# 2番目から4文字目まで
print(s[1:4])  # bcd

インデックスを省略した場合

最初のインデックスを省略した場合は「0」指定と同じになり、 終了のインデックスを省略した場合は「len(文字列)」指定と同じになります。

s = "abcde"

# s[0:2] と同じ
print(s[:2])  # ab

# s[1:len(s)] と同じ
print(s[1:])  # bcde

インデックスに負の値を指定した場合

インデックスに負の値を指定した場合は、 最後からの文字数を指定することになります。
次のように「拡張子を取り除きたい」場合などに使えます。

s = "test.txt"

# 最後の4文字を取り除く
print(s[0:-4])  # test

ステップ数(間隔)を指定する

文字を取り出すステップ数(間隔)を指定することもできます。 次のように終了インデックスの次にステップ数を指定します。

文字列[開始インデックス:終了インデックス + 1:ステップ数]
s = "abcdefg"

# ステップ数を指定
print(s[::2])  # aceg

# 2番目の文字からステップ数2で取り出す
print(s[1::2]) # bdf
Python