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.