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

Pythonの文字列の一部を取得するサンプルです。

確認環境
・Python 3.7.2

目次

文字列[開始:終了] 文字列の一部を取得する
文字列[開始:] 文字列の途中から最後までを取得する
文字列[:終了] 終了の位置を指定して最初から取得する
文字列[位置] 1文字取得する
文字列[開始:終了:増分] n文字ずつ取得する

文字列の一部を取得する

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

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

# coding: utf-8

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

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

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

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

開始の位置を指定して最後まで取得するサンプルです。

# coding: utf-8

a = 'あいうえお'

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

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

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

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

終了の位置を指定して最初から取得するサンプルです。

# coding: utf-8

a = 'あいうえお'

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

1文字取得する

文字列[ 位置 ]
  • 「位置」にある文字を返します。
  • 最初の1文字目の位置は0です。

1文字取得するサンプルです。

# coding: utf-8

a = 'あいうえお'

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

5,6行目は指定した文字が表示されます。
7,8行目はマイナスの値です。文字列の最後尾から取得します。

n文字ずつ取得する

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

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

# coding: utf-8

a = 'あいうえお'

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

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

以下はpython公式ドキュメントの一般的な文字列操作のリンクです。
https://docs.python.org/ja/3/library/string.html

関連の記事

Python 文字列の始め/終わりを確認(startswith/endswith)
Python 文字列の位置を取得する(find/index)
Python 文字列を分割してリストにする(split)
Python 大文字と小文字を変換する(upper/lower)
Python エスケープシーケンスとraw文字列のサンプル
Python 文字列の先頭と末尾を削除(strip/lstrip/rstrip)
Python 文字列を置換する(replace)

△上に戻る