Capitalize a string

Question:

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.

Asked By: Dan

||

Answers:

s = s[0].upper() + s[1:]

This should work with every string, except for the empty string (when s="").

Answered By: Joachim Sauer

@saua is right, and

s = s[:1].upper() + s[1:]

will work for any string.

Answered By: Blair Conrad

What about your_string.title()?

e.g. "banana".title() -> Banana

Answered By: skyler

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().......
Answered By: rbp
>>> b = "my name"
>>> b.capitalize()
'My name'
>>> b.title()
'My Name'
Answered By: tigeronk2
str = str[:].upper()

this is the easiest way to do it in my opinion

Answered By: saar

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.

Answered By: faiz

You can use the str.capitalize() function to do that

In [1]: x = "hello"

In [2]: x.capitalize()
Out[2]: 'Hello'

Hope it helps.

Answered By: eric

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

Answered By: Saurabh
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.