Saya sadar .capitalize () mengkapitalisasi huruf pertama dari string tetapi bagaimana jika karakter pertama adalah bilangan bulat?
ini
1bob
5sandy
untuk ini
1Bob
5Sandy
python
capitalize
letter
pengguna1442957
sumber
sumber
next((i for i,e in enumerate(test) if not e.isdigit()), '0')
menyelesaikannya untuk kasus string kosong. capitalize
juga akan mengubah karakter lainnya menjadi lebih rendah. Dari dokumen resmi: "Kembalikan versi titlecased S, yaitu kata-kata mulai dengan karakter case judul, semua karakter cased yang tersisa memiliki huruf kecil. "Hanya karena tidak ada orang lain yang menyebutkannya:
Namun, ini juga akan memberi
yaitu tidak hanya menggunakan huruf besar karakter alfabet pertama. Tetapi kemudian
.capitalize()
memiliki masalah yang sama, setidaknya dalam hal itu'joe Bob'.capitalize() == 'Joe bob'
, jadi meh.sumber
Ini mirip dengan jawaban @ Anon karena ini menjaga sisa case string tetap utuh, tanpa perlu modul re.
Seperti yang ditunjukkan oleh @Xan, fungsi tersebut dapat menggunakan lebih banyak pengecekan kesalahan (seperti memeriksa bahwa x adalah suatu urutan - namun saya menghilangkan kasus tepi untuk menggambarkan teknik ini)
Diperbarui per komentar @normanius (terima kasih!)
Terima kasih kepada @GeoStoneMarten dalam menunjukkan bahwa saya tidak menjawab pertanyaan! -memperbaiki itu
sumber
len(x) == 0
cabang.return x[0].upper() + x[1:] if len(x) > 0 else x
capitalize
&title
pertama mengurung seluruh string dan kemudian hanya menggunakan huruf pertama.a[:1].upper() + a[1:]
, ini akan menanganilen(X)==0
kasus sudut.Berikut ini adalah satu-liner yang akan huruf besar huruf pertama dan meninggalkan huruf semua huruf berikutnya:
Ini akan menghasilkan
WordsWithOtherUppercaseLetters
sumber
Seperti yang dilihat di sini dijawab oleh Chen Houwu, dimungkinkan untuk menggunakan paket string:
sumber
Saya datang dengan ini:
sumber
Anda dapat mengganti huruf pertama (
preceded by a digit
) dari setiap kata menggunakan regex:sumber
satu baris:
' '.join(sub[:1].upper() + sub[1:] for sub in text.split(' '))
sumber