Pythonには文字列を操作する機能があります。
文字列操作について学習する前に、文字列と数値の違い(データ型)について思い出してください。
学習がまだの方はコチラ
インデックス
文字列からはインデックスを指定して、文字を取り出すことが可能です。
インデックスは索引や見出しといった意味で、‘hello’という文字列には0から4までのインデックス値があり、0が一番左の‘h’を表します。一番左が1ではなく、0から始まる点に注意してください。インデックス値の4は最後の‘o’となります。
文字数以上の値(上記の場合5以上)を指定すると、エラーになりますので気を付けてください。
文字列に演算子を使う
2つ以上の文字列には足し算「+」、掛け算「*」を使用することができます。足し算では文字列を連結することができ、掛け算では文字列を掛けた数だけ連続させることができます。
フォーマット
formatメソッドを使うと、文字列の穴埋めをすることができます(メソッドについては別途解説します。関数みたいなものと思っていればOKです)。
定型文章で、数字や固有名詞の部分だけ入れ替える必要があるような場合に利用します。前項の「+」演算子を使う方法や、「%」を使用する方法もありますが、formatに慣れておいた方がいいでしょう。「%」は以前のPythonで使われていた書き方です。
文字列の中で書き換えたい箇所を波カッコとし、文章のあとにドット、format(置き換える文字(数字))と続けます。複数置き換えることもできます。
日本語で入力するとき、誤って波カッコを全角のままにしてしまうことがありますので注意してください。フォントにもよると思いますが、波カッコは半角と全角の見分けがつきにくいです。
分割(split)
splitメソッドは文字列を指定した文字で分割します。
使用する場面が想像しにくいかもしれませんが、例えば情報が羅列してあって、それぞれが句読点やカンマで句切られている場合、必要な文字列を取り出してリスト化することなどに使えます。
「ネズミ、牛、トラ、ウサギ、龍、ヘビ」という文であれば、[‘ネズミ’,’牛’,’トラ’,’ウサギ’,’龍’,’ヘビ’]
のようにリストにすることができます。
結合(join)
joinメソッドは文字列と文字列の間に違う文字を入れてくっつけることができます。
間に入れる文字、ドット、join(文字列)と記述します。
リストを結合することもできます。
大文字を小文字に変換、小文字を大文字に変換
upperメソッドは文字列をすべて大文字に変換してくれます。
大文字に変えたい文字列のあとに続いて、ドット、upper()と記述します。
反対にすべてを小文字にしたいときはlowerメソッドを使います。
学習が進んでいって、ユーザーにパスワードを入れてもらって認証するようなプログラムを作る場合に、これらを利用することで、大文字で入力しても、小文字で入力しても正しく認証できるシステムにすることができます。
最初の1文字を大文字にすることをキャピタライズといいます。capitalizeメソッドを使えば文字列の最初の文字を大文字に、それ以外を小文字にすることができます。
置換(replace)
replaceメソッドは指定した文字列を別の文字列に置き換えることができます。
対象の文字列のあとに続いて、ドット、replace(‘置き換え前の文字’,’置き換え後の文字)と記述します。
改行の仕方
改行をしたい場合は、改行する位置に「\n」を入れます。
「\」ではなくバックスラッシュ「\」と説明されている場合が多いかもしれませんが、通常のフォントではバックスラッシュを入力しようとすると「\」になります。あまり気にせず「\n」で改行と覚えましょう。
まとめ
主な文字列操作について解説してまいりました。Pythonには他にもいろいろと文字列を操作する方法がありますので、必要に応じて調べてみてください。
インデックス値やformatメソッドは初心者でも比較的使う場面があると思いますので、しっかり覚えておきましょう。
今後「リスト」や「タプル」などの学習によって文字列の扱いについても理解が深まってきます。