文字列処理

Python基礎・文字列処理
スポンサーリンク
スポンサーリンク

Python で文字列を扱う方法について解説します。文字列を記述する方法や、文字列に関する便利な関数の使い方を紹介します。

スポンサーリンク

文字列の基礎

文字列を記述する場合、文字をダブルクオーテーション(“)で囲うかシングルクオーテーション(‘)で囲います。

“文字列”
‘文字列’

文字列をprint関数の引数に指定して出力することができます。

文字列の連結(+演算子)

文字列の連結は+演算子を使用します。

‘文字列1’ + ‘文字列2’


+=演算子を使用することもできます。左辺の文字列変数に右辺の文字列が連結され、代入・更新されます。


*演算子を使うと指定回数繰り返すことができます。

文字列リストの連結(join)

文字列のリストを連結するには、join()を使います。引数に文字列リストを指定します。

‘間に挿入する文字列’.join(文字列リスト)

文字列に変換(str)

文字列へ変換を行うにはstr()を使用します。

str(変換したいオブジェクト)

文字列の置換(replace)

‘置換対象の文字列’.replace(置換元の文字列, 置換後の文字列[, 最大回数])

文字列の置換はreplace()を使用します。第一引数に置換元の文字列、第二引数に置換後の文字列を指定します。第三引数は省略可能で、置換を行う最大回数を指定することができます。


第三引数に置換を行う最大回数を指定してみます。

文字列の分割(split)

文字列の分割はsplit()を使用します。引数で区切り文字を指定しますが、半角スペースの場合は区切り文字の指定は不要です。戻り値はリスト型になります。

分割したい文字列.split(区切り文字)

文字列の抽出

[]にインデックスを指定するとその位置の文字を取得できる。インデックスは0から始まります。

文字列[インデックス]


インデックスは負の値も指定できます。この場合一番最後の文字が-1になります。


[開始インデックス:終了インデックス]とすることで、開始インデックス以上・終了インデックス未満の範囲の文字列を抽出できます。この場合も負の値を指定できます。

大文字・小文字変換(upper, lower)

指定の文字列を大文字・小文字へ変換するにはupper()lower()を使います。

文字列.upper()
文字列.lower()

文字列の先頭および末尾から文字を取り除く(strip)

文字列から指定した文字を取り除くためにはstrip()を使用します。空白を取り除く場合は引数は指定しません。指定した文字以外の文字が先頭および末尾から現れたら処理が終了します。

文字列.strip(取り除く文字列)

文字列の長さ(文字数)を取得(len)

文字列の長さ(文字数)を取得するにはlen()を使用します。引数に文字数を調べたい文字列を指定します。

len(‘文字列’)

エスケープシーケンス

通常の文字列では表せないタブや改行などの文字をバックスラッシュを付けたエスケープシーケンスで記述します。エスケープシーケンスについてはPython公式ドキュメントを参照してください。

以下の例では改行を示す\nを使用しています。

エスケープシーケンスを無視するraw文字列

文字列の前にrまたはRを付けると、エスケープシーケンスを適用せずにそのままの値が文字列になる。これをraw文字列という。

Windowsのパスを文字列で扱う場合に、raw文字列を使用すると便利です。

文字列の書式設定(format)

format()メソッドを使用すると、文字列の書式設定が行えます。

 置換フィールド{}を含む文字列.format(値1, 値2・・・)


format()の引数に変数を指定することも可能です。

format()関数の引数は、書式指定文字列内の波括弧 {} の順序と同じにする必要があります。


以下のように、引数に式を入れたり、何番目の引数を使用するかを指定することも可能です。


format()の引数には辞書を指定する事も可能です。


書式指定を行うには:(コロン)の後に書式指定子を記述します。
書式は、配置文字+文字列幅の最小長さ+type(表現型) の順に指定します。
【配置文字】< 左揃え、> 右揃え、^ 中央揃え
【type】s 文字列、d 整数、f 固定小数点数 など

文字列の書式設定例
typeは s を指定します。


整数値の書式設定例
typeは d を指定します。


小数点を含む数値の書式設定例
typeは f を指定します
小数点の桁数は標準では 6桁になっています。桁数を指定する場合はドット(.)のあとに桁数を指定します。

f文字列

f文字列は、Python3.6から追加された新しい書式指定の方法です。先頭のクォートの前に fF を入れ、波括弧 {} で変数名か式を囲み、その値を文字列に差し込みます。
format 関数を使わず書式指定文字列の中で、空の波括弧 {} や位置指定の波括弧 {1} も使わないため可読性が高まります。

f’置換フィールド{}を含む文字列’

以下のように使用します。


format()と同様に、{} 内で式を使用することもできます。


Python3.8以降では、変数の値だけではなく変数名も表示が可能です。式を指定して結果と合わせてを表示することも可能なため、デバッグに活用することができます。


f文字列の書式設定方法はformatの場合と同じですが、{}内にコロン(:)と書式設定を記述します。
書式は、配置文字+文字列幅の最小長さ+type(表現型) の順に指定します。
【配置文字】< 左揃え、> 右揃え、^ 中央揃え
【type】s 文字列、d 整数、f 固定小数点数 など

文字列の書式設定例
typeは s を指定します。

整数値の書式設定例
typeは d を指定します。


小数点を含む数値の書式設定例
typeは f を指定します。
小数点の桁数は標準では 6桁になっています。桁数を指定する場合はドット(.)のあとに桁数を指定します。


Pythonで文字列を扱う方法について解説しました。

・関連記事:日時処理
・関連記事:演算子
・関連記事:リスト