【Python入門】文字列から文字を取り出す方法まとめ!

Python

Pythonで文字列から特定の文字や一部の文字列を取り出すには「インデックス指定」や「スライス記法」を使います。初心者の方でも分かるように、具体例つきでわかりやすく解説します!

ここでは文字列における任意の文字を抽出する方法について解説しています。

この記事でわかること
  • Pythonで1文字だけ取り出す方法
  • 文字列の一部分(複数文字)を抜き出す方法
  • インデックスの省略記法
  • マイナス(-)を使った末尾からの取り出し
  • 一定の間隔で取り出す方法(ステップ指定)
スポンサーリンク
スポンサーリンク

1文字だけ取り出す(インデックス)

moji = "mojiretsu"
print(moji[0]) 

出力結果

m

文字列はリストのように扱えます。ただし、listは「0」始まりであることに注意して下さい。

一部の文字を取り出す(スライス)

moji = "mojiretsu"
print(moji[0:2]) 

[開始:終了] というスライス記法で、開始位置から終了の1つ前までを取り出します。

Listで[0:2]と表記した場合は、0、1番目の2文字を出力すると言う意味になります。

例えば、[4:8]と表記した場合は「rets」になります。

出力結果

mo

便利な省略表記

「:」を用いた抽出

moji = "mojiretsu"
print(moji[:2]) 

「複数文字の抽出」で紹介した[0:2]を短縮して表記できます。これが上記の[:2]という表記です。

例えば、[7:]と表記した場合は「su」になります。

出力結果

mo

また、「-」演算子を用いた抽出方法もあります。

マイナスを使って末尾から指定

moji = "mojiretsu"
print(moji[-1]) 

「-」演算子を用いると末尾から指定した数の文字を抽出します。

例えば、「-」演算子と「:」を用いた表記として「-2:」とします。この場合の出力結果は「su」となります。この結果は[7:]とした場合と同じです。

出力結果

u

特定の間隔で取り出す(ステップ指定)

moji = "mojiretsu"
print(moji[0:9:2])  # 2文字おきに取り出し
print(moji[::2])    # 先頭から2文字おき(省略記法)

[0:9:2]と表記すると、先頭を含めて2個ずつ抽出する意味になります。例えば、[0:9:3]と表記すると出力結果は「mit」となります。これらの表記を省略して「 : : n」と表現できます。

次に[::2]とすると、[0:9:2]と表記した場合と同じ結果が出力されます。例えば、[::3]とすると、[0:9:3]と表記した場合と同じ「mit」と出力されます。

出力結果

mjrtu

おまけ:List型って何?

文字列とは違って、リスト(list)は複数の値をカンマで区切って[]で囲んだ型です。

fruits = ["apple", "banana", "orange"]
print(fruits[1])  # banana

詳しくは別記事でまとめています。

まとめ

操作方法説明
1文字抽出moji[0]最初の1文字を取り出す
範囲で抽出moji[2:5]2~4番目までを取り出す
省略記法moji[:3]先頭から3文字
末尾から抽出moji[-1]最後の文字
間隔指定moji[::2]2文字おきに取り出す
タイトルとURLをコピーしました