将字符串的第一个字母大写,而不触及其他字母

时间:2015-08-02 00:49:31

标签: python string capitalize

我想要把字符串的第一个字母大写,但剩下的就是

我拥有的: 赛车

我想要的: 赛车

3 个答案:

答案 0 :(得分:2)

然后只需用str.upper()大写第一个字母并连接其余的

string[0].upper() + string[1:]

演示:

>>> string = 'racEcar'
>>> string[0].upper() + string[1:]
'RacEcar'

答案 1 :(得分:2)

你应该像Martijn建议的那样做,但为了使你的功能更加健壮,切换到第一个字母,这样你就不会在空字符串上出错:

>>> rc = 'racEcar'
>>> newrc = rc[:1].upper() + rc[1:]
>>> newrc
'RacEcar'

所以定义一个执行此操作的函数:

def capfirst(s):
    return s[:1].upper() + s[1:]

然后:

>>> capfirst(rc)
'RacEcar'
>>> capfirst('')
''

答案 2 :(得分:-1)

这已经说明了,但我决定展示它。

使用Scrapy无需额外工作即可实现您的目标。例如,

user-agent

如果您有多个单词,使用capitalize()可能需要额外的工作。例如,

让我们假设你的字符串是:"我想吃披萨"

def Cap1(string):
    # will not error if empty, and only does the first letter of the first word.
    return string.capitalize()

输出结果为:"我想要披萨"

您可以使用title()的另一种方式是:

def cap2(string):
    return string.title()