【发布时间】:2014-12-01 16:40:09
【问题描述】:
首先,请不要将其标记为重复。
我有一个非常具体的问题。 我必须将每个单词的首字母大写。问题是我无法找出单词何时开始。
比如我给了String:
0nd0-cathay bank (federal saving)
输出应该如下:
0Nd0-Cathay Bank (Federal Saving).
目前我有以下标题案例的方法:
public static String toTitleCase(String str)
{
if (str == null)
return "";
boolean space = true;
StringBuilder builder = new StringBuilder(str);
final int len = builder.length();
for (int i=0; i < len; ++i)
{
char c = builder.charAt(i);
if (space)
{
if (!Character.isWhitespace(c))
{
// Convert to title case and switch out of whitespace mode.
builder.setCharAt(i, Character.toTitleCase(c));
space = false;
}
}
else if (Character.isWhitespace(c))
{
space = true;
}
else
{
builder.setCharAt(i, Character.toLowerCase(c));
}
}
return builder.toString();
}
谢谢大家。
【问题讨论】:
-
不知道解决方法的请不要投反对票!
-
投反对票的人可以发表评论...
标签: java android string capitalize