2020年7月13日
文字列をスライスもしくはインデックスを指定して部分的にテキストを取り出す方法を実戦して理解して行きます。
文字列ってそもそも何?と言う方はまず、【Python入門編】変数の使い方を詳しくメモしていくをご覧ください。
文字列[インデックス番号]
とする事で、インデックス番号の位置にある文字列を取得します。
文字列sを作成 s = "アイウエオかきくけこサシスセソ" sの4番目の文字「エ」を取得する print(s[3]) >>> エ
※インデックス番号は0からカウントする為、4番目を取得する場合は[3]となります。
インデックス番号にマイナスの値をいれると、後ろから数えて◯番目にある文字列を取得します。
#sの後ろから3番目の文字「ス」を取得する print(s[-3]) >>> ス
-1は「ソ」-2は「セ」-3は「ス」といった感じです。
インデックス番号が文字列の要素数よりも大きいと、IndexErrorが出るので気をつけてください。
このエラーを防ぐ為に【Python入門編】組み込み関数の使い方メモのlen関数を使って、要素数を事前に確認しておく事をオススメします。
文字列[スタート番号:エンド番号+1]
とする事で、スタート番号からエンド番号までの文字列を分割して取得する事が出来ます。
#「ア」〜「オ」までを取得する print(s[0:5]) >>> アイウエオ #インデックスが0の時は記載しなくてもOK print(s[:5]) >>> アイウエオ
“:”の左側に何も記載しないと、0番目からエンド番号まで取得されます。
#「オ」以降全て取得する print(s[4:]) >>> オかきくけこサシスセソ
“:”の右側に何も記載しないと、スタート番号以降全て取得されます。
#全て取得する print(s[:]) >>> アイウエオかきくけこサシスセソ
何も指定しないと、0番目から最後まで全て取得されます。
文字列[スタート番号:エンド番号+1:ステップ]
とする事で、スタート番号からエンド番号までステップ数おきに要素を取得する事が出来ます。
#「イ」から「ソ」までを1つおきに取得する print(s[1:-1:2]) >>> イエかくこシセ
ステップのみ指定すると、最初から最後までステップおきに取得する事が出来ます。
#0番目から最後までを1つおきに取得する print(s[::2]) >>> アウオきけサスソ