str.title()
vs有什么区别str.capitalize()
吗?我对文档的理解是,这两种方法都将单词的第一个字母大写,其余字母小写。有没有人遇到过不能互换使用的情况?
问问题
5336 次
3 回答
17
title()
改变每个单词,但capitalize()
只改变句子中的第一个单词:
>>> a = 'silly question'
>>> a.title()
'Silly Question'
>>> a.capitalize()
'Silly question'
>>>
于 2019-12-18T03:06:12.517 回答
5
是的,有区别。2,其实。
- 在
str.title()
中,如果单词包含撇号,则撇号后面的字母将大写。 str.title()
将句子的每个单词大写,而str.capitalize()
仅将整个字符串的第一个单词大写。
str.title()
返回字符串的标题版本,其中单词以大写字符开头,其余字符为小写。
For example:
>>>
>>> 'Hello world'.title()
'Hello World'
该算法使用一个简单的独立于语言的单词定义作为一组连续的字母。该定义在许多情况下都有效,但这意味着缩写和所有格中的撇号形成单词边界,这可能不是预期的结果:
于 2019-12-18T03:06:00.250 回答
1
我将用一个例子来解释区别:
假设您有一个字符串,str1 = 'a b 2w'
并且您想将所有第一个字符大写,但如果第一个字符是数字,那么您不想更改。期望的输出 ->A B 2w
如果你这样做str1.title()
会导致这个 ->A B 2W
并str1.capitalize()
会给出以下结果 ->A b 2w
要获得所需的结果,您必须执行以下操作:
对于 str1.split() 中的 x:
str1 = str1.replace(x, x.capitalize())
于 2020-05-03T15:55:14.287 回答