1. ホーム
  2. java

Javaで大文字と小文字を変換する

2023-08-20 07:35:31

質問

文字列の最初の文字を大文字に、残りの文字を小文字に変換したいです。どうすればよいのでしょうか。

例を挙げます。

String inputval="ABCb" OR "a123BC_DET" or "aBcd"
String outputval="Abcb" or "A123bc_det" or "Abcd"

どのように解決するのですか?

試しに着てみてください。

String properCase (String inputVal) {
    // Empty strings should be returned as-is.

    if (inputVal.length() == 0) return "";

    // Strings with only one character uppercased.

    if (inputVal.length() == 1) return inputVal.toUpperCase();

    // Otherwise uppercase first letter, lowercase the rest.

    return inputVal.substring(0,1).toUpperCase()
        + inputVal.substring(1).toLowerCase();
}

基本的には、まず空文字と一文字の文字列の特殊なケースを処理し、それ以外の二文字以上の文字列を正しくケース分けしています。そして、コメントで指摘されたように、1文字の特殊なケースは機能的には必要ありませんが、それでも私は明示的であることを好みます。特に、空の文字列を得るためのsubstring、それを小文字にして、同様にそれを追加するなどの無駄な呼び出しが少なくなるのであれば。