【Pythonの基礎】文字を抽出する

こんにちは、@Yoshimiです。

Pythonの基礎の基礎を覚書きしておきます。
Pythonは英語の文法に似ているとのことで他のプログラム言語より習得敷居が扱いやすいと言われているようです。

今回は、データ分析では必須!Pythonの基礎「文字の抽出」です。文字列の任意の部分の文字列を抽出する方法をご紹介します。メールアドレスの抽出や長文でのマスキングの際に任意文字をヒットさせるなど利用用途は様々です。

位置(文字数)を指定して抽出: インデックス、スライス

# 文字列 index指定
word = 'abcdefg123XYZ'
word[0]
‘a’

取得する位置を指定することも可能です。

word[10]
‘X’

データ分析ではよく使う技術「スライシング」ですが、私は未だにパッとできるかというと不安です。

# スライシング
word[:3]
‘abc’

word[:3]では、前から3番目まで取得するという指定なのですが、最初は0と判定されているので、正確には0,1,2までなので、この場合、abcとなります。

# word = 'abcdefg123XYZ'
word[5:]
‘fg123XYZ’

word[5:]では前から5番目までを削除する(5番目以降を抽出する)です。

# word = 'abcdefg123XYZ'
word[2:5]
‘cde’

word[2:5]では2番目から5番目のひとつ前までです。

# word = 'abcdefg123XYZ'
word[:-1]
‘abcdefg123XY’

word[:-1]は最後の一つを抽出しないでそれ以外です。

# word = 'abcdefg123XYZ'
word[-1]
‘Z’

word[-1]は最後の一つを抽出するです。

では、大きすぎるインデックスを指定した場合はどうなるのかというとエラーになります。単純です。

# 大きすぎるインデックスを指定するとエラーになる
word[30]

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
 in ()
----> 1 word[30]

IndexError: string index out of range

基礎的な文字抽出をご紹介しました。もっと柔軟な処理を行う正規表現というものがあります。文字列にマッチした文字のみを抽出する方法など様々な方法で文字抽出が可能です。

まとめ次第ブログでアップしていきます。


なりたい自分になれる
スキルアップならUdemy

私も利用し、高収入エンジニアになったのよ。未経験から機械学習、データサイエンティスト、アプリ開発エンジニアを目指せるコンテンツが多数あります。優秀な講師が多数!割引を利用すれば1,200円〜から動画購入可能です。!

ABOUTこの記事をかいた人

大学卒業して、キラキラしていたのでIT業界にはいりましたが、中身はブラックでした!!だから、投資技術を磨いて早くリタイヤしたいです。株価、Python、機械学習をもうもう勉強中です。経済的自由を手に入れて農家やりたい!