環境設定 数値 文字列 正規表現 リスト タプル 集合 辞書 ループ 関数 クラス データクラス 時間 パス ファイル スクレイピング その他

Python文字列の使い方:分割と結合、削除、検索、置換、正規表現、中央・左右寄せなど役立つTips

最終更新日 2019.11.28

Python の文字列でよく使う関数をまとめました。

文字数のカウント

Python の文字数は len でカウントします。

a = 'apple'

s = len(a)

print(s)  # 5

分割

文字列は split で分割します。下のコードは、半角スペースで分割した文字をリストにしています。

a = 'Apple Microsoft'

b = a.split(' ')

print(b)
# ['Apple', 'Microsoft']

結合(連結)

Python の join はリストの文字列を連結します。

a = ['Windows', 'Linux']

b = ' and '.join(a)

print(b)
# Windows and Linux

join は「接着剤にする文字列」から呼びます。リストでなく、文字列から呼ぶところがポイントです。

削除

Python の strip は文字列の前後にあるスペースやタブを削除します。

a = '   Amazon   '

b = a.strip()

print(b)
# Amazon

検索

「文字列 in 文字列」で検索できます。

a = 'Apple'

if 'pp' in a:
    print('a は pp をもつ')
else:
    print('a は pp をもたない')

# a は pp をもつ

置換

Python で文字列を置換するときは、置換したい文字列から replace を呼びます。

a = 'Apple'

b = a.replace('App', 'Goog')

print(b)  # Google
  • 第一引数:置換前の文字列

  • 第二引数:置換後の文字列

正規表現

Python の正規表現は re を使います。正規表現で数字を削除するコードを見てください。

import re

a = 'Windows95'

b = re.sub(r'[0-9]', '', a)

print(b)  # Windows

正規表現の置換は re.sub です。

  • 第一引数:正規表現

  • 第二引数:置換後の文字列

  • 第三引数:置換したい文字列(対象文字列)

中央寄せ・右寄せ・左寄せ

文字列を中央寄せにするときは center を使います。

x = 'Apple'

a = x.center(11)
b = x.center(11, '+')

print(a)
#    Apple   

print(b)
# +++Apple+++

center は対象文字列から呼び、第一引数に生成文字列の長さを指定します。第二引数に埋める文字を入れます。上のコードからわかるように、第二引数を省略すると半角スペースが埋まります。どちらも左右に 3 文字のスペースまたは記号があります。右寄せと左寄せも同様で、それぞれ rjust と ljust を使います。

x = 'Apple'

a = x.rjust(11)
b = x.rjust(11, '+')

c = x.ljust(11)
d = x.ljust(11, '+')

print(a)
#       Apple

print(b)
# ++++++Apple

print(c)
# Apple      

print(d)
# Apple++++++

書式

Python の format は文字列の書式を整えます。

x = '太郎'

a = '私は{}です'.format(x)

print(a)
# 私は太郎です

a の中かっこに x が入っています。複数の変数も対応しています。

x = '太郎'
y = '花子'

a = '私は{}です。あなたは{}です。'.format(x, y)

print(a)
# 私は太郎です。あなたは花子です。

f-strings

JavaScript のテンプレート・リテラルに近いものが Python にあります。

x = '太郎'
y = '花子'

a = f'私は{x}です。あなたは{y}です。'

print(a)
# 私は太郎です。あなたは花子です。

f のつく文字列(カンマの前に f がある文字列)は一種のテンプレートになり、中に変数を挿入できます。