将字符串中的第一个字符大写

时间:2017-04-18 17:00:36

标签: python python-2.7

我有以下字符串:我尝试过.title()和大写()但不是成功。

输入

"hello world"
"1hello world"
"hello   world  lol"
"1 2 2 3 4 5 6 7 8  9"
"1 w 2 r 3g"
"132 456 Wq  m e"
"q w e r t y u i o p a s d f g h j  k l z x c v b n m Q W E R T Y U I O P A S D F G H J  K L Z X C V B N M"

输出

"Hello World"
"1hello World"
"Hello   World  Lol"
"1 2 2 3 4 5 6 7 8  9"
"1 W 2 R 3g"
"132 456 Wq  M E"
"Q W E R T Y U I O P A S D F G H J  K L Z X C V B N M Q W E R T Y U I O P A S D F G H J  K L Z X C V B N M"

我也试过这个,但是当输入字符串有多个空格时,它就会出错。

str = "Hello   World  Lol"
for i in range(0,len(new)):
    str += new[i][0].upper() + new[i][1:] + " "
print str

2 个答案:

答案 0 :(得分:3)

您是如何尝试.title()的? str.title()应返回大写字符串,但请记住字符串是不可变的,因此您必须将其赋值为新值。

string1 = "hello   world  lol"
string2 = string1.title()

答案 1 :(得分:1)

在您的上下文中,您可以使用capitalize()方法。

str = "Helo  w world lol"
lista = []
for i in str.split(" "):
    lista.append(i.capitalize())
print " ".join(lista) #"Helo  W World Lol"

使用列表理解:

print " ".join([i.capitalize() for i in str.split(" ")])