擅长:python、mysql、java
<p><code>title()</code>方法不知道'xiv'是罗马数字。最好的方法是分割字符串,然后<code>title()</code>相关片段,保持XIV部分不变,然后将片段连接在一起。我认为程序不会意识到一组字符可能是罗马数字</p>
<pre><code>def title_except_all_caps(input):
parts = [p.title() if p.islower() else p for p in input.split()]
return ' '.join(parts)
</code></pre>
<p>虽然解释中提到了罗马数字,但我想让你明白这里发生了什么。这会将原始字符串拆分为空格,如果它是小写字符串,则对其应用<code>title()</code>。如果没有,就别管它。最后,使用一个空格作为连接符连接各个部分,从而组装生成的字符串</p>