Python3|文字列の一部を取得したい|スライスの使い方

Pocket

Python3で文字列の一部を抽出する方法

Python3では部分文字列を取得する方法としてスライスという機能が準備されています。

スライスは文字列[開始, 終了-1, step]という書式で書きます。

また開始、終了、ステップはどれも省略可能です。

尚、文字列の先頭は0文字目と考えます。

例えばstr = “0123”のときstr[0:2]と書くと0文字目から2-1文字目までをスライスするので“01”を取得できます。

任意の1文字を抽出する場合

任意の1文字を取得する場合は文字列[数値]のように書きます。

【サンプルプログラム1-1】

文字列[-1]は最後の1文字を表します。

2文字以上の部分文字列を取得する場合

2文字以上の部分文字列を取得するには文字列[開始:終了-1]と書きます。

【サンプルプログラム1-2】

例えば、str = “abcdefg”のとき、str[0:2]0文字目~2-1文字目を取得するので“ab”となります。

str[:2]は開始を0とし、2-1文字目までを取得するので、0文字目~1文字目を取得します。結果は“ab”になりますね。

str[-3:]後ろから3文字目(e)~最後の文字(g)までを意味するので“efg”になります。

ステップを利用して部分文字列を取得する場合

ステップを利用して部分文字列を取得するには文字列[開始, 終了-1, step]という書式で書きます。

例えば、str = “123456789”のとき、奇数だけを抽出するにはstr[0:10:2]と書きます。
結果は“13579”となります。“123456789”をスライスで表すには0~文字数 + 1となる点に注意して下さい。

逆に偶数だけを抽出するにはstr[1:10:2]と書きます。“23456789”からstep2で文字を抽出しているので、2(3)4(5)6(7)8(9)となり、結果は“2468”ですね。

【サンプルプログラム1-3】

str[0:10:2]において、[0:10]“メガ盛り塩やきそば”を表していて、この文字列を対象にstep2でスライスするわけですから(ガ)(り)(や)(そ)となり、結果は“メ盛塩きば”になりますね。

str[2:10:3]であれば[2:10]“盛り塩やきそば”を表していて、この文字列を対象にstep3でスライスするわけですから(り)(塩)(き)(そ)となり、結果は“盛やば”となりますね。

また、str = “逃げるは恥だが全力逃走!”のときstr[::4]と書くと、先頭から末尾までの文字列全体を対象に(げ)(る)(は)(だ)(が)(全)(逃)(走)(!)となるので、結果は“逃恥力”となりますね。なんだか新たなスキルを意味するような文字列を抽出してしまいましたね(笑)。

尚、「開始」と「終了」を省略してstr[:]と書くと対象となる文字列全体を表します。ここでさらに、「開始」、「終了」、「step」を全て省略してstr[::]と書いてもやはり対象となる文字列全体を表します。

例えばstr = “apple”のとき、str[:]str[::]“apple”を意味します。

Python3リファレンスTOPへ戻る

この記事を読んでいる人はこんな記事も合わせて読んでいます♪

  • 【エクセルVBA】繰り返し処理(For Next文)の使い方【エクセルVBA】繰り返し処理(For Next文)の使い方 VBAで繰り返し処理を使うには(For Next) 繰り返し処理は何度も似たようなことをするときに、それらを一気呵成に処理してしまいたいときに使います。Excel VBAには何種類かの繰り返し処理がありますが、 ここではFor Nextステートメントをご紹介します。 For Nextステートメントの文法 For カウンタ変数 = start to end Step […] Posted in 未分類
  • Python3入門|初心者対象!【第4回】リスト(list)を使いこなそう!Python3入門|初心者対象!【第4回】リスト(list)を使いこなそう! はじめに Python3入門|初心者対象!シリーズの第4回目です! 今回はリスト(list)の使い方を解説します。 尚、過去のPython3入門|初心者対象!シリーズは下記リンクからご覧になれます。 Python3入門|初心者対象!【第1回】環境構築とはじめてのプログラミング Python3入門|初心者対象!【第2回】if文(制御構文①) […] Posted in 未分類
  • Python3超入門【第4回】Python3超入門【第4回】 さて、Python3超入門も4回目になりましたね。まだまだ基本文法の学習の連続ですが、飽きて疲れてしまっていませんか? でもだいじょうぶです。Python3はエレガントでエキサイティングで本当に面白い素晴らしい言語です。 地道に身に着けていけば必ず感動するプログラムが書けるようになります。 ところで今回は「タプル」というデータの入れ物についての解説で […] Posted in 未分類
  • Python3|while(True)の意味とbreak文Python3|while(True)の意味とbreak文 Python3におけるwhile(True)の意味 while(条件式):において条件式がTrueである限りWhileループは実行され続けます。従って、 While(False): と書けば、絶対に実行されないwhileループになります。そして、 While(True): と書けば無限ループになります。 しかし、無限ループでは困るので、Whil […] Posted in 未分類
  • Python3入門|初心者対象!【第3回】for文・while文(制御構文②)Python3入門|初心者対象!【第3回】for文・while文(制御構文②) まえがき 前回(Python3入門|初心者対象!【第2回】if文(制御構文①))、前々回(Python3入門|初心者対象!【第1回】環境構築とはじめてのプログラミング)を通じて、Python3の基礎の基礎、if文を学んできました。 今回【第3回】ではwhile文、for文といった制御構文を学んでいきましょう! 今回も「わかりやすい解説」に全力を尽くして参りますの […] Posted in 未分類
カテゴリー: 未分類 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA