Reputation: 35433
Does anyone know of a really simple way of capitalizing just the first letter of a string, regardless of the capitalization of the rest of the string?
For example:
asimpletest -> Asimpletest
aSimpleTest -> ASimpleTest
I would like to be able to do all string lengths as well.
Upvotes: 63
Views: 84567
Reputation: 2729
You can use the str.title() function to do that
In [1]: x = "hello"
In [2]: x.title()
Out[2]: 'Hello'
Hope it helps.
Upvotes: 0
Reputation: 7833
Docs can be found here for string functions https://docs.python.org/2.6/library/string.html#string-functions
Below code capitializes first letter with space as a separtor
s="gf12 23sadasd"
print( string.capwords(s, ' ') )
Gf12 23sadasd
Upvotes: 1
Reputation: 241714
@saua is right, and
s = s[:1].upper() + s[1:]
will work for any string.
Upvotes: 80
Reputation: 308001
s = s[0].upper() + s[1:]
This should work with every string, except for the empty string (when s=""
).
Upvotes: 8
Reputation: 123
for capitalize first word;
a="asimpletest"
print a.capitalize()
for make all the string uppercase use the following tip;
print a.upper()
this is the easy one i think.
Upvotes: 2
Reputation: 1898
this actually gives you a capitalized word, instead of just capitalizing the first letter
cApItAlIzE -> Capitalize
def capitalize(str):
return str[:1].upper() + str[1:].lower().......
Upvotes: 4
Reputation: 2650
>>> b = "my name"
>>> b.capitalize()
'My name'
>>> b.title()
'My Name'
Upvotes: 143