2016-09-14 32 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),它接受一個字符串並且大寫每個單詞的第一個字母。

相關問題