2024-06-12 04:20:57 发布
网友
示例:
HILO -> Hilo new york -> New York SAN FRANCISCO -> San Francisco
是否有库或标准方法来执行此任务?
为什么不直接从文档中使用^{}:
>>> "they're bill's friends from the UK".title() "They'Re Bill'S Friends From The Uk"
如果你真的想要PascalCase,你可以用这个:
>>> ''.join(x for x in 'make IT pascal CaSe'.title() if not x.isspace()) 'MakeItPascalCase'
def capitalizeWords(s): return re.sub(r'\w+', lambda m:m.group(0).capitalize(), s)
re.sub可以使用一个函数来“替换”(而不仅仅是字符串,这是大多数人都熟悉的用法)。对于模式的每个匹配项,将使用一个re.Match对象调用此repl函数,结果(应该是字符串)将用作该匹配项的替换。
re.sub
re.Match
相同事物的更长版本:
WORD_RE = re.compile(r'\w+') def capitalizeMatch(m): return m.group(0).capitalize() def capitalizeWords(s): return WORD_RE.sub(capitalizeMatch, s)
这将预编译模式(通常被认为是良好的形式),并使用命名函数而不是lambda。
这一个总是以小写字母开头,也可以去掉非字母数字字符:
def camelCase(st): output = ''.join(x for x in st.title() if x.isalnum()) return output[0].lower() + output[1:]
为什么不直接从文档中使用^{} :
如果你真的想要PascalCase,你可以用这个:
re.sub
可以使用一个函数来“替换”(而不仅仅是字符串,这是大多数人都熟悉的用法)。对于模式的每个匹配项,将使用一个re.Match
对象调用此repl函数,结果(应该是字符串)将用作该匹配项的替换。相同事物的更长版本:
这将预编译模式(通常被认为是良好的形式),并使用命名函数而不是lambda。
这一个总是以小写字母开头,也可以去掉非字母数字字符:
相关问题 更多 >
编程相关推荐