将大写字符串更改为小写字母,但仅将第一个字符保留为大写字母

时间:2016-09-14 10:46:09

标签: java

我有大写的多个字符串:

JAMES SMITH,NAVIN HEMANT SIGNH,LALA UTRIZER

如何将这些字符串转换为:

James Smith,Navin Hemant Signh,Lala Utrizer在java?

请帮忙。

2 个答案:

答案 0 :(得分:2)

尝试这样的事情:

String values = "JAMES SMITH, NAVIN HEMANT SIGNH, LALA UTRIZER";


if (values != null && !values.isEmpty()) {
    final StringBuilder fixedCaseBuilder = new StringBuilder(values.length()+1);

    for (final String word : values.split(" ")) {
        if (!word.isEmpty()) {
            fixedCaseBuilder.append(Character.toUpperCase(word.charAt(0)));
            fixedCaseBuilder.append(word.substring(1, word.length()).toLowerCase());
        }
        fixedCaseBuilder.append(' ');
    }

    fixedCaseBuilder.setLength(fixedCaseBuilder.length()-1);
    final String result = fixedCaseBuilder.toString();
}

答案 1 :(得分:1)

如果您可以选择使用哪些库,我建议 Apache Commons Utils 中的 WordUtils 。它有一个方法capitalizeFully(String s),它接受​​一个字符串并将每个单词的第一个字母大写。