2016-09-14 31 views
-1

我有大写多个字符串:更改大写字符串为小写,但只保留第一个字符为大写

JAMES SMITH,NAVIN与Hemant SIGNH,LALA UTRIZER

我怎样才能把这些串至:

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

请帮忙。

+1

通过编写代码来做到这一点,而不是自讨苦吃。有几种方法可以做到这一点,所有这些都是非常基础的。写下一个可能的场景(不是代码,只是伪代码),所以你有逻辑,并在此之后,实现它 – Stultuske

+0

请参阅下面的链接相同http://stackoverflow.com/questions/3904579/how-to-capitalize-java-first-letter-of-a-string- – Abhishek

+0

这是一个重复的问题。你可以在这里找到答案:http://stackoverflow.com/questions/1892765/how-to-capitalize-the-first-character-of-each-word-in-a-string – Plee

回答

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

如果你能选择什么样的库来使用,我就从阿帕奇百科全书utils的建议WordUtils。它有一个方法capitalizeFully(String s),它接受一个字符串并且大写每个单词的第一个字母。

相关问题