2008-12-09 68 views
43

有谁知道一个非常简单的方法,只是字符串的第一个字母的大写,而不考虑字符串其余部分的大写?大写字符串

例如:

asimpletest -> Asimpletest 
aSimpleTest -> ASimpleTest 

我希望能够做所有的字符串的长度为好。

回答

65

@saua是正确的,

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

将任何字符串工作。

+0

不错!这些都是我不知道的一些小技巧......我应该更频繁地使用Python。 – 2008-12-09 11:54:47

+1

为什么不`s = s [0] .upper()+ s [1:]`?为什么`[:1]`? – hobs 2014-10-06 23:37:45

+7

正如@saua指出的那样,`s [0]`将在空字符串上失败。 – 2014-10-07 01:22:26

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

这应该适用于每一个字符串,除了空字符串(当s="")。

+0

击败了我,你的更优雅。 – UnkwnTech 2008-12-09 11:52:13

13

your_string.title()怎么样?

例如"banana".title() -> Banana

+3

`str.title`大写字串中的每个_word_ – 2014-02-03 04:18:57

4

这实际上给你一个大写的单词,而不是只大写首字母

利用 - >大写

def capitalize(str): 
    return str[:1].upper() + str[1:].lower()....... 
112
>>> b = "my name" 
>>> b.capitalize() 
'My name' 
>>> b.title() 
'My Name' 
-4
str = str[:].upper() 

这是做的最简单的方法我的意见

2

大写第一个单词;

a="asimpletest" 
print a.capitalize() 

for make all string string use the following tip;

print a.upper() 

这是我认为的简单方法。

1

可以使用str.capitalize()功能来做到这一点

In [1]: x = "hello" 

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

希望它能帮助。