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