小能豆

有没有办法.title()从带有撇号的标题中获取正确的输出?

python

有没有办法.title()从带有撇号的标题中获取正确的输出?例如:

"john's school".title() --> "John'S School"

我如何在这里获得正确的标题"John's School"


阅读 78

收藏
2024-05-17

共1个答案

小能豆

Python 的 .title() 方法只会将每个单词的首字母大写,并且将所有其他字母转换为小写。因此,对于带有撇号的标题,.title() 方法可能不会产生您期望的结果。

要在带有撇号的标题中获得正确的输出,您可以编写一个自定义函数来执行此操作。例如,您可以使用 .split() 方法将字符串拆分为单词,并对每个单词的首字母大写进行处理,而不仅仅是对整个字符串的首字母大写。然后,您可以使用 .join() 方法将处理后的单词重新组合成一个字符串。以下是一个示例函数:

def custom_title_case(s):
    return " ".join(word.capitalize() for word in s.split("'"))

# 测试
title_case_result = custom_title_case("john's school")
print(title_case_result)  # 输出 "John's School"

这个自定义函数 custom_title_case() 将输入的字符串按照空格分割成单词,并对每个单词的首字母大写,然后使用空格将处理后的单词重新组合成字符串。这样就可以正确处理带有撇号的标题,并得到您期望的输出。

2024-05-17