在php中,方法ucwords
轉換字符串中的任何字符串,其中每個單詞的第一個字符都是大寫字母,而其他所有字符都是小寫字母。java中是否有相同的ucwords
我總是最終做出我自己的實現,我想知道是否存在標準方法。
在php中,方法ucwords
轉換字符串中的任何字符串,其中每個單詞的第一個字符都是大寫字母,而其他所有字符都是小寫字母。java中是否有相同的ucwords
我總是最終做出我自己的實現,我想知道是否存在標準方法。
這就是所謂的大小寫。使用Apache Commons的StringUtils來做that。
更多,請參閱:
http://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html
WordUtils也值得一看。見here
好的謝謝你的鏈接。儘管如此,我仍然無法使用它,因爲我正在使用Android(不包括apache org.apache.commons.lang庫)。 – XGouchet 2011-02-28 15:44:33
@XGouchet這很奇怪。你**可以**在Android項目中使用外部Jar。看到這裏http://stackoverflow.com/questions/1334802/how-can-i-use-external-jars-in-an-android-project – Nishant 2011-02-28 15:47:24
@XGouchet請標記您的問題作爲android – Nishant 2011-02-28 15:48:21
否則,這是一個相當簡單的修復,例如; String string1 = someString.substring(0,1).toUpperCase() + someString.substring(1);
你可以把它放在一個函數中,並隨時調用它。爲您節省維護您不需要的庫的麻煩。 (不是Apache的百科全書是有史以來麻煩,但你明白了吧..)
編輯:someString.substring(1)
部分可以寫成someString.substring(1).toLowerCase()
只是爲了確保該字符串的其餘部分是小寫
我不知道任何直接等同,但你總是可以寫一個:
public static String capitalize(String input) {
if (input == null || input.length() <= 0) {
return input;
}
char[] chars = new char[1];
input.getChars(0, 1, chars, 0);
if (Character.isUpperCase(chars[0])) {
return input;
} else {
StringBuilder buffer = new StringBuilder(input.length());
buffer.append(Character.toUpperCase(chars[0]));
buffer.append(input.toCharArray(), 1, input.length()-1);
return buffer.toString();
}
}
http://stackoverflow.com/questions/1149855/how-to-upper-case-every-first-letter-of-word- in-a-string – 2011-02-28 15:32:22
@Jarrod - 鏈接已損壞。 Apache StringUtils遵循WordUtils算法。正如在JavaDoc – Nishant 2011-02-28 15:35:10
@Nishant中提到的那樣:鏈接對我來說很有用...... – posdef 2011-02-28 15:37:45