3

我想将字符串中的第一个字母大写。该字符串将是一个散列(因此主要是数字),因此string.title()不起作用,因为类似的字符串85033ba6c将更改为85033Ba6C, not 85033Ba6c,因为数字分隔单词,令人困惑title()。我想将字符串的第一个字母大写,无论该字母在字符串中有多远。有这个功能吗?

4

2 回答 2

10

re.sub与 一起使用count

>>> strs = '85033ba6c'
>>> re.sub(r'[A-Za-z]',lambda m:m.group(0).upper(),strs,1)
'85033Ba6c'
于 2013-06-14T16:03:39.147 回答
6

在此答案中假定字符串中至少有一个字符isalpha将返回True(否则,这将引发StopIteration

i,letter = next(x for x in enumerate(myhash) if x[1].isalpha())
new_string = ''.join((myhash[:i],letter.upper(),myhash[i+1:]))

在这里,我挑选出字符串中第一个字母字符的字符(和索引)。我将该字符转换为大写字符,然后将字符串的其余部分与它连接起来。

于 2013-06-14T16:01:13.020 回答