[java] Java를 사용하여 문자열의 첫 글자를 대문자로 바꾸는 방법은 무엇입니까?

문자열 예

one thousand only
two hundred
twenty
seven

대문자로 문자열의 첫 문자를 변경하고 다른 문자의 대소 문자를 변경하지 않으려면 어떻게합니까?

변경 후 다음과 같아야합니다.

One thousand only
Two hundred
Twenty
Seven

참고 :이 작업을 수행하기 위해 apache.commons.lang.WordUtils를 사용하고 싶지 않습니다.



답변

이름이 지정된 문자열의 첫 글자 만 대문자로 input하고 나머지는 그대로 두려면 다음을 수행하십시오.

String output = input.substring(0, 1).toUpperCase() + input.substring(1);

이제 output당신이 원하는 것을 가질 것입니다. input이것을 사용하기 전에 적어도 한 자 이상인지 확인하십시오 . 그렇지 않으면 예외가 발생합니다.


답변

public String capitalizeFirstLetter(String original) {
    if (original == null || original.length() == 0) {
        return original;
    }
    return original.substring(0, 1).toUpperCase() + original.substring(1);
}

그냥 … 완벽한 해결책, 다른 사람들이 결국 = P를 게시 한 것을 결합한 것 같습니다.


답변

가장 간단한 방법은 org.apache.commons.lang.StringUtils클래스 를 사용하는 것 입니다

StringUtils.capitalize(Str);


답변

또한,이 org.springframework.util.StringUtils스프링 프레임 워크 :

StringUtils.capitalize(str);


답변

StringUtils.capitalize(str)

에서 아파치 평민 – 랭 .


답변

String sentence = "ToDAY   WeAthEr   GREat";
public static String upperCaseWords(String sentence) {
        String words[] = sentence.replaceAll("\\s+", " ").trim().split(" ");
        String newSentence = "";
        for (String word : words) {
            for (int i = 0; i < word.length(); i++)
                newSentence = newSentence + ((i == 0) ? word.substring(i, i + 1).toUpperCase():
                    (i != word.length() - 1) ? word.substring(i, i + 1).toLowerCase() : word.substring(i, i + 1).toLowerCase().toLowerCase() + " ");
        }

        return newSentence;
    }
//Today Weather Great


답변

String s=t.getText().trim();
int l=s.length();
char c=Character.toUpperCase(s.charAt(0));
s=c+s.substring(1);
for(int i=1; i<l; i++)
    {
        if(s.charAt(i)==' ')
        {
            c=Character.toUpperCase(s.charAt(i+1));
            s=s.substring(0, i) + c + s.substring(i+2);
        }
    }
    t.setText(s);