Python 文字列の一部を取得する(スライス)

目次

(確認環境:Python 3)

文字列の一部を取得する

文字列[ 開始位置:終了位置]
  • 1つめの引数の「開始位置」から2つめの引数の「終了位置」の前にある文字までを返します。
  • 最初の1文字目の位置は0です。
  • スライスと呼ばれます。

開始と終了の位置を指定して文字列の一部を取得するサンプルです。

a = 'あいうえお'

print(a[0:1]) # あ
print(a[1:2]) # い
print(a[2:3]) # う

print(a[0:3]) # あいう
print(a[2:4]) # うえ

b = 'abcde'
print(b[0:1]) # a
print(b[1:2]) # b

3~5行目は、指定の位置から1文字取得しています。
7行目は、最初の文字「あ」から3文字取得しています。
8行目は、途中にある文字の「う」から2文字取得しています。
10行目は、半角文字の場合です。

文字列の途中から最後までを取得する

文字列[ 開始位置 : ]
  • 1つめの引数の「開始位置」から最後までの文字を返します。
  • 最初の1文字目の位置は0です。
  • 区切りのコロンは残します。
a = 'あいうえお'

print(a[2:]) # うえお
print(a[3:]) # えお
print(a[4:]) # お

指定した位置の文字から最後の文字まで取得しています。

終了の位置を指定して最初から取得する

文字列[ : 終了位置 ]
  • 最初の文字から「終了位置」までの文字を返します。
  • 最初の1文字目の位置は0です。
  • 区切りのコロンは残します。
a = 'あいうえお'

print(a[ :2]) # あい
print(a[ :3]) # あいう
print(a[ :4]) # あいうえ

終了の位置を指定して最初から取得しています。

1文字取得する

文字列[ 位置 ]
  • 「位置」にある文字を返します。
  • 最初の1文字目の位置は0です。
a = 'あいうえお'

print(a[0]) # あ
print(a[1]) # い
print(a[-1]) # お
print(a[-2]) # え

1文字取得しています。
マイナスの値の場合、文字列の最後尾から取得します。

n文字ずつ取得する(増分)

文字列[ 開始位置 : 終了位置 : 増分]
  • 1つめの引数の「開始位置」から2つめの引数の「終了位置」の前にある文字を対象に「増分」の位置にある文字を返します。
  • 最初の1文字目の位置は0です。

n文字ずつ取得するサンプルです。

a = 'あいうえお'

print(a[::1]) # あいうえお
print(a[::2]) # あうお
print(a[::3]) # あえ

3行目は、増分1で、すべての文字を取得しています。
4行目は、増分2で、1文字飛ばして文字を取得しています。
5行目は、増分3で、2文字飛ばして文字を取得しています。

for文で1文字ずつ取得する

for 1文字 in 文字列:
a = 'あいうえお'

for b in a:
	print (b) # あ い う え お

for文で文字列を1文字ずつ取得しています。

関連の記事

Python 文字列の始め/終わりを確認(startswith/endswith)
Python 大文字と小文字を変換する(upper/lower)
Python エスケープシーケンスとraw文字列のサンプル
Python 文字列の先頭と末尾を削除(strip/lstrip/rstrip)

△上に戻る