Python文字列操作

Pythonで文字列処理する際に利用するトピックを記載します。

| 文字列の書き方

文字列はシングルクォート(')、または、ダブルクォート("")で囲むことで表現できます。
どちらを使っても違いはないですが、可読性を考えるとどちらかに統一した方が良いかと思います。



| 文字列長の取得

文字列の長さはlen()関数で取得できます。

出力結果



| 文字列一致判定

文字列の一致判定は「==」で可能です。

出力結果



| 文字列の改行

文字列にトリプルクォート(''')を使うと、囲まれた文字列は改行されても一文字として扱います。

出力結果



| 文字列のコンソール表示

文字列をコンソール上に表示する場合はprint()関数を使います。
文字列をフォーマットして、書く方法は次の2通りあります。
「%」の方は、空白をはさむ必要があるので注意です。

「\t」は、タブを示すエスケープシーケンスです。
「\n」は、改行を示すエスケープシーケンスです。
print()関数は、デフォルトで改行が入ります。

出力結果



| 文字列のコンソール入力

コンソール経由でキーボードから文字列を取得する(文字列入力を待つ)場合は、input()関数を使います。input()を呼び出すと、キーボードからの入力を待ち受けます。

次の処理には、何かしら入力されるまでは移行しません。



| 文字列の結合

文字列結合は、「+」を使えば可能です。



| 文字列スライス

文字列の一部の文字列を切り出す場合は、ブラケット記号([])でコロン(:)を指定することで可能です。

これにより、ある文字列から特定の位置の文字列を抽出(切り出す)することができます。

文字列は0はじまりのため、str[0]が1文字目を示すことに注意です。また、最後尾はstr[-1]で示されます。

なお、C/C++のようにstr[1]='a'のような直接文字列の一部を変更しようとするとエラーになります。そうした場合は、一旦、文字列をリスト化するか、前後の文字列をスライスして連結するなどの方法を使います。

出力結果

※ インデックスは最大文字数 - 1まで。
※ -1は末尾を示す。-3とすると末尾から3文字目を示す。



| 文字列のエンコード・デコード

Python3では、文字列はUnicode文字列として扱われるため、バイナリ型(byte)とは区別されます。

ネットワークで文字列データを送信する場合などに文字列をバイナリ型(byte)に変換する必要があります。そうした場合は、下記のように文字列をバイナリに変換します。

※ bytesと文字列は「+」などで連結できません。

出力結果



| その他の文字列操作まとめ

文字列操作でよく使う各種関数をまとめます。

文字列を分割する場合は「split()」を使います。

文字列を連結する場合は「join()」を使います。

文字列の置換は「replace()」を使います。

文字列の先頭や末尾が特定の文字か否かを確認するには「startswith()」「endswith()」を使います。

文字列が数字か否かを確認するには「isalnum()」を使います。「@」などの記号は数字ではないと判定されます。

ある文字列の中に指定の文字や文字列が何回出現するかをカウントするには「count()」を使います。

ある文字列の中に指定の文字や文字列のインデックスを取得する場合は「find()」を使います。インデックスは「0」はじまりです。文字列の中に指定の文字や文字列が存在しない場合は「-1」を返します。

文字列の大文字/小文字を変換する場合、大文字への変換は「upper()」、小文字への変換は「lower()」を使います。

コメントを残す

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