如何将字符串中每个单词的第一个字符大写

新手上路,请多包涵

Java 有没有内置函数,可以将字符串中每个单词的第一个字符大写,并且不影响其他字符?

例子:

  • jon skeet -> Jon Skeet
  • miles o'Brien -> Miles O'Brien (B仍然是大写,这排除了Title Case)
  • old mcdonald -> Old Mcdonald *

*( Old McDonald 也会找到,但我不希望它那么聪明。)

快速查看 Java 字符串文档 仅显示 toUpperCase()toLowerCase() ,它们当然不提供所需的行为。自然地,谷歌搜索结果以这两个功能为主。轮子好像早就被发明出来了,问问也无妨,方便以后使用。

原文由 WillfulWizard 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 693
2 个回答

如果您只担心第一个单词的第一个字母被大写:

 private String capitalize(final String line) {
   return Character.toUpperCase(line.charAt(0)) + line.substring(1);
}

原文由 Nick Bolton 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题