Python 文字列の抽出をする方法について解説します!

Python 文字列の抽出をする方法について解説します

今回は、文字列を抽出する方法ついて解説します。
Pythonでは、文字列を抽出する場合、インデックスを指定するか、スライスで抽出します。
スライスで文字列を抽出するには始点と終点を指定します。

目次

文字の場所を指定して抽出する

プログラミングPC画面

文字の場所を指定して抽出する

文字の場所を指定して抽出するには、インデックスを指定すると、その位置の文字を取得することができます。
左から、0、1、2、3、4、5、というようにインデックスを指定していきます。

(例)

x = 'abcdefg'

print(x[0])
# 実行結果: a

print(x[5])
# 実行結果: f

右から数えて指定するには、負の値の、-1、-2、-3、-4、-5、-6、-7というようにインデックスを指定していきます。

(例)

x = 'abcdefg'

print(x[-1])
# 実行結果: g

print(x[-4])
# 実行結果: d

print(x[-7])
# 実行結果: a

存在しないインデックスを指定した場合は、「IndexError」となります。

(例)

x = 'abcdefg'

print(x[20])
# 実行結果: IndexError: string index out of range

スライスで文字列を抽出

プログラミングPC画面

スライスで文字列を抽出

スライスで文字列を抽出する場合は、始点と終点を [start:end] として表してインデックスを指定します。

  • 始点と終点を指定すると、その範囲内の文字列が抽出できます。
  • endを省略すると指定した範囲から末尾までの文字列が抽出できます。
  • startを省略すると先頭から指定した範囲までの文字列が抽出できます。

(例)

x = 'abcdefg'

# 始点と終点を指定
print(x[1:4])
# 実行結果: bcd

# endを省略して指定
print(x[4:])
# 実行結果: efg

# startを省略して指定
print(x[:3])
# 実行結果: abc

右から数えて指定するには、負の値を使います。
一番最後の文字は、-1となります。

(例)

x = 'abcdefg'

# 始点と終点を指定
print(x[-6:-2])
# 実行結果: bcde

# endを省略して指定
print(x[-4:])
# 実行結果: defg

# startを省略して指定
print(x[:-3])
# 実行結果: abcd

startがendの値よりも大きい数値を指定すると、エラーにはならずに空文字が返されます。
また、存在しない範囲を指定してもエラーにはならず、範囲内の値のみ返されます。

(例)

x = 'abcdefg'

print(x[4:1])
# 実行結果: ""

print(x[-100:100])
# 実行結果: abcdefg

stepを追加して指定する

スライスにstep(増分)を飛び飛びで指定することもできます。
[start:stop:step]のように表し指定します。

(例)

x = 'abcdefg'

print(x[1:6:2])
# 実行結果: bdf

右から数えて指定するには、負の値を使います。

(例)

x = 'abcdefg'

print(x[::-1])
# 実行結果: gfedcba

print(x[::-2])
# 実行結果: geca

まとめ: Python 文字列の抽出をする方法について

プログラミングPC画面

まとめ:

Python 文字列の抽出をする方法について

今回は、文字列を抽出する方法ついて解説しました。
文字列を抽出する場合、

  • インデックスで指定して抽出する方法
  • スライスで始点と終点を指定して抽出する方法

について解説しました。

よかったらシェアしてください!
目次