Jaden Casing String:如何返回大写单词的句子字符串?

时间:2019-09-09 08:45:11

标签: python python-3.x string

我想创建一个接受短文本的函数,并以所谓的 Jaden Case 模式返回该文本,其中每个单词的首字母均为大写(best reference I could find)。

例如"Hi, I'm twenty years old"应该返回"Hi I'm Twenty Years Old"

我已经尝试过自己解决此问题,但是撇号后的字母变成大写字母,但是不应该。.

我的尝试

def toJadenCase(string):
    for letter in string:
        if letter == "\'" :
            letter[+1].lowercase()
        else:
            return string.title()
    return string

2 个答案:

答案 0 :(得分:8)

使用str.splitstr.capitalize

s = "Hi, I'm twenty years old"
' '.join([i.capitalize() for i in s.split()])

输出:

"Hi, I'm Twenty Years Old"

答案 1 :(得分:0)

可以用另外两种方法完成:

方法#1

import string

def tojaden(jadencase):
    return string.capwords(jadencase)

print(tojaden("I'm iron man"))

方法#2

def jadencase(str):
    s1 = str.split()
    capWords = []
    for word in s1:
        caps = word.capitalize()
        capWords.append(caps)
    final_string = " ".join(capWords)
    print(final_string)


jadencase("it ain't me")