我得到我需要格式化的用戶輸入。我需要刪除所有前導/尾隨空格,我需要大寫每個單詞的第一個字母。分詞和大寫首字符
這是我正在嘗試,但是...如果你輸入的東西之間2個單詞之間的空格,它崩潰。我該如何解決這個問題?
String formattedInput = "";
String inputLineArray[] = inputLine.getText().toString().trim().split("\\s");
for (int d=0; d<inputLineArray.length; d++) {
formattedInput = formattedInput.trim() + " " +
inputLineArray[d].trim().substring(0,1).toUpperCase() +
inputLineArray[d].trim().substring(1).toLowerCase();
}
可能的解決方案http://stackoverflow.com/questions/1892765/capitalize-first-char-of-each-word-in-a-string-java – 2011-04-12 19:59:33
您應該注意,您當前的代碼不符合您的聲明要求。您的要求是「大寫第一個字母」而不是「使所有其他字母小寫」。我很好奇你爲什麼讓他們都成爲小寫字母。如果我傳遞「rOgEr」,我會期望「ROgEr」而不是「Roger」。 – corsiKa 2011-04-12 20:13:10