【发布时间】:2010-12-25 22:51:49
【问题描述】:
Java 中是否有一个函数可以将字符串中每个单词的第一个字符大写,并且不影响其他字符?
例子:
-
jon skeet->Jon Skeet -
miles o'Brien->Miles O'Brien(B 仍然是大写字母,这排除了 Title Case) -
old mcdonald->Old Mcdonald*
*(Old McDonald 也会被发现,但我不希望它那么聪明。)
快速查看Java String Documentation 只会发现toUpperCase() 和toLowerCase(),这当然不能提供所需的行为。自然地,谷歌搜索结果以这两个功能为主。这似乎是一个必须已经发明的轮子,所以问一下也无妨,这样我将来可以使用它。
【问题讨论】:
-
old mcdonald怎么样?那应该变成Old McDonald吗? -
我不希望这个功能这么聪明。 (虽然如果你有一个,我会很高兴看到它。)将空格后的第一个字母向上,但忽略其余的。
-
无论如何,您都无法找到能够正确处理姓名大写的算法......只要有一对姓名,其中任何一个对于给定的人都可能是正确的,像 MacDonald 和 Macdonald 一样,该函数无法知道哪个是正确的。最好做你所做的,尽管你仍然会得到一些错误的名字(比如冯诺依曼)。
-
试试汉堡王...
标签: java string uppercase lowercase capitalization