我需要在Python中大写一个字符串,而不需要将字符串的其余部分转换为小写。这看起来微不足道,但我似乎找不到用Python实现的简单方法。
给定这样的字符串:
"i'm Brian, and so's my wife!"
在Perl中,我可以这样做:
ucfirst($string)
这将产生我需要的结果:
I'm Brian, and so's my wife!
或者使用Perl的正则表达式修饰符,我也可以这样做:
$string =~ s/^([a-z])/uc $1/e;
这样也可以:
> perl -l
$s = "i'm Brian, and so's my wife!";
$s =~ s/^([a-z])/uc $1/e;
print $s;
[Control d to exit]
I'm Brian, and so's my wife!
>
但是在Python中,str.capital()方法首先降低整个字符串的大小写:
>>> s = "i'm Brian, and so's my wife!"
>>> s.capitalize()
"I'm brian, and so's my wife!"
>>>
而title()方法对每个单词大写,而不仅仅是第一个单词:
>>> s.title()
"I'M Brian, And So'S My Wife!"
>>>
在Python中,有没有一种简单/单行的方法可以只将字符串的第一个字母大写,而不将字符串的其余部分小写?
怎么样:
输出为:
只需使用字符串切片:
注意,字符串是不可变的;这与
capitalize()
一样,返回一个新字符串。如果你感兴趣的是每一个字符都上装第一个字符,其余字符都下装(不完全是OP要求的),这就更清楚了:
相关问题 更多 >
编程相关推荐