1. ホーム
  2. パイソン

[解決済み] Pythonは最初の文字だけを大文字にする

2022-04-13 18:08:46

質問

.capitalize()は文字列の最初の文字を大文字にすることは知っていますが、最初の文字が整数の場合はどうなるのでしょうか?

これ

1bob
5sandy

をこのように

1Bob
5Sandy

解決方法は?

1文字目が整数の場合、1文字目を大文字にしない。

>>> '2s'.capitalize()
'2s'

もし、機能をそのままに、数字を削除したい場合は '2'.isdigit() で各文字をチェックします。

>>> s = '123sa'
>>> for i, c in enumerate(s):
...     if not c.isdigit():
...         break
... 
>>> s[:i] + s[i:].capitalize()
'123Sa'