ray88’s diary

お仕事で困ったとき用の自分用の覚書

python 文字列から特定の文字を取り出す・スライス・飛び飛びで取り出す

抽出する際、文字位置は先頭のインデックスは0から始まり、末尾から見る場合は-1からはじまる。
f:id:ray88:20210505093424p:plain
【特定の一文字を抽出】

文字列[文字位置]

サンプルコード

id = "abcdefg"
#先頭の文字を抽出
firstCap = id[0]
print("先頭の文字を抽出",firstCap)
#末尾の文字を抽出
endCap = id[-1]
print("末尾の文字を抽出",endCap)
#3番目の文字を抽出
thirdCap = id[2]
print("3番目の文字を抽出",thirdCap)

コンソールの出力結果
f:id:ray88:20210505094312p:plain
【指定した範囲の文字列を抜き出す(スライス)】
※開始位置と終了位置者は省略可能。

#開始位置~終了位置までを抽出
文字列[開始位置:終了位置]
#文字列全体を抽出(開始位置と終了位置を省略)
文字列[:]
#開始位置から最後まで抽出(終了位置を省略する)
文字列[開始位置:]
#最初から終了位置までを抽出(開始位置を省略する)
文字列[:終了位置]

サンプルコード

myStr = "The pen is red."
#文字列全て
strResult = myStr[:]
print("全ての文字:",strResult)
#5文字目から最後まで
strResult = myStr[4:]
print("5文字目から最後まで:",strResult)
#5文字目から3文字
strResult = myStr[4:4+3]
print("5文字目から3文字:",strResult)
#先頭~末尾から数えて7文字目の手前まで
strResult = myStr[:-7]
print("末尾7文字目~先頭:",strResult)

コンソールへの出力結果
f:id:ray88:20210505102258p:plain
【飛び飛びで抜き出す】

文字列[:終了位置:ステップ]

サンプルコード

myStr = "0123456789"
#文字列から1つ飛ばしで文字を抽出
strResult = myStr[::2]
print("1つ飛ばしの文字:",strResult)
#4文字目から1文字飛ばしで取り出す
myStr = "abc0123456789"
strResult = myStr[3::2]
print("4文字目から1つ飛ばし:",strResult)
#後ろから1文字飛ばし
myStr = "0123456789"
strResult = myStr[::-2]
print("後ろから1文字飛ばし:",strResult)
#文字列を逆順にする
myStr = "あいうえおかきくけこ"
strResult = myStr[::-1]
print("文字列を逆順にする:",strResult)

コンソールへの出力結果
f:id:ray88:20210505104124p:plain