[解決!Python]文字列の大文字/小文字を変換するには(lower/upper/swapcase/caplitalize/titleメソッド)解決!Python

Pythonには文字列中の大文字/小文字を変換するための便利なメソッドがある。それらの使い方を紹介する。

» 2021年01月19日 05時00分 公開
[かわさきしんじDeep Insider編集部]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「解決!Python」のインデックス

連載目次

# 文字列を小文字化/大文字化/大文字小文字の反転
s1 = 'Foo Bar Baz'
s2 = s1.lower()  # 文字列を小文字化
print(s2)  # foo bar baz
s2 = s1.upper()  # 文字列を大文字化
print(s2)  # FOO BAR BAZ
s2 = s1.swapcase()  # 文字列の大文字/小文字を入れ替える
print(s2)  # fOO bAR bAZ

# 文字列先頭を大文字に
s1 = 'hey! this is a SAMPLE string. how are you?'
s2 = s1.capitalize()  # 文字列の先頭を大文字に、残りを小文字に
print(s2)  # Hey! this is a sample string. how are you?

# 単語の先頭を大文字に、残りを小文字に
s1 = 'foo BAR baz'
s2 = s1.title()  
print(s2)  # Foo Bar Baz


文字列を小文字化/大文字化/大文字小文字の反転

 文字列を全て小文字にするにはlowerメソッドを、全て大文字にするにはupperメソッドを、元の文字列の大文字/小文字を反転するにはswapcaseメソッドを使用する(アルファベットのように大文字/小文字の概念がある文字が対象)。なお、これらのメソッドに限らず、本稿で取り上げるメソッドは全て大文字/小文字を変換した新しい文字列を戻り値とすることには注意しよう。

 以下に例を示す。

s1 = 'Foo Bar Baz'
s2 = s1.lower()  # 文字列を小文字化
print(s1)  # Foo Bar Baz
print(s2)  # foo bar baz

s2 = s1.upper()  # 文字列を大文字化
print(s2)  # FOO BAR BAZ

s2 = s1.swapcase()  # 文字列の大文字/小文字を入れ替える
print(s2)  # fOO bAR bAZ


 この例では、今述べた3つのメソッドを使って文字列'Foo Bar Baz'の小文字化/大文字化/小文字と大文字の反転を行っている。lowerメソッドの例に示したように、元の文字列はそのままで(文字列は変更不可能なオブジェクト)、新しく文字列が作成されている点に注意したい。

全角アルファベットの大文字/小文字について

 ここで見た3つのメソッドやこの後で紹介する他のメソッドでは、全角文字であっても変換してくれる。

s1 = 'ABC'
s2 = s1.lower()
print(s2)  # abc


 実際にそうすることはあまりないかもしれないが覚えておこう。


文字列先頭を大文字にする

 capitalizeメソッドを使うと、文字列の先頭の文字が大文字に、残りの文字は小文字に変換される。

 以下に例を示す。

s1 = 'hey! this is a SAMPLE string. how are you?'
s2 = s1.capitalize()  # 文字列の先頭を大文字に、残りを小文字に
print(s2)  # Hey! this is a sample string. how are you?


 この例では文字列'hey! this is a SAMPLE string. how are you?'でcapitalizeメソッドを呼び出している。この文字列では「SAMPLE」という部分だけが大文字で後は小文字(と記号と空白文字)だけだ。呼び出しの結果は'Hey! this is a sample string. how are you?'となっている。文字列の先頭の1文字だけが大文字に変換され、「SAMPLE」が小文字の「sample」になっている点に注意しよう。

単語の先頭を大文字に、残りを小文字に

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。