gpt4 book ai didi

python - Perl 的 ucfirst() 或 s///e 在 Python 中的等价物是什么?

转载 作者:太空狗 更新时间:2023-10-29 17:52:21 33 4
gpt4 key购买 nike

我需要在 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.capitalize() 方法首先将整个字符串小写:

>>> 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 中是否有任何简单/单行的方法可以只将字符串的第一个字母大写而不小写字符串的其余部分?

最佳答案

如果您感兴趣的是对第一个字符每个进行大写,而对其余字符进行小写(不完全是 OP 所要求的),这样会更简洁:

string.title()

关于python - Perl 的 ucfirst() 或 s///e 在 Python 中的等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37181135/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com