最後の文字を削除する方法
どれも結果は同じです。text = 'abcd'
# 結果 = 'abc'
newText = text[:-1]
newText = text[0:-1]
newText = text[:len(text) - 1]
newText = text[0:len(text) - 1]
- 元の文字列は変更されません。
- len関数は引数に渡した文字列の文字数を返します。
スライスとは?
インデックスの指定でコロン「:」を使用すると始点と終点を指定でき、その範囲の文字列が返されます。print("abcd"[:]) # 結果 = 'abcd'
print("abcd"[0:]) # 結果 = 'abcd'
print("abcd"[:2]) # 結果 = 'ab'
print("abcd"[1:1]) # 結果 = ''
print("abcd"[1:2]) # 結果 = 'b'
print("abcd"[1:3]) # 結果 = 'bc'
print("abcd"[:-1]) # 結果 = 'abc'
print("abcd"[:-2]) # 結果 = 'ab'
print("abcd"[:-3]) # 結果 = 'a'
print("abcd"[:-4]) # 結果 = ''
print("abcd"[0:99]) # 結果 = 'abcd'
print("abcd"[99:]) # 結果 = ''
- 始点を省略すると、先頭を示します。
- 終点を省略すると、末尾を示します。
- 範囲外のインデックスを指定してもエラーは発生しません。
サンプルコード
次のプログラムはスライスを使用して文字列最後の文字を削除し、表示します。text = 'abcd'
print(text[:-1])
print(text[0:-1])
print(text[:len(text) - 1])
print(text[0:len(text) - 1])

検証環境
- Python 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)] on win32
- Microsoft Windows 10 Pro Version 22H2 OS Build 19045.2251 Experience: Windows Feature Experience Pack 120.2212.4180.0