我想创建一个接受短文本的函数,并以所谓的 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
答案 0 :(得分:8)
使用str.split
和str.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")