Java で文字列の最初の文字を大文字にする方法
-
toCharArray()
メソッドに関連付けられたupperCaseFirst()
を用いた文字列の最初の文字の大文字化 -
toUpperCase()
メソッドとappendTail()
メソッドを用いた文字列の最初の文字の大文字化 -
String.substring()
を用いて文字列の最初の文字を大文字にする -
文字列の最初の文字を大文字にするには
String.substring()
メソッドを用いる関数capitalize()
を用いる

このチュートリアル記事では、Java を使って文字列の最初の文字を大文字にする方法を紹介します。与えられた string
値の最初の文字を大文字に変換するために使用される一般的なメソッドがいくつかあります。様々なメソッドは upperCaseFirst()
メソッドと toCharArray()
メソッド、toUpperCase()
メソッドと appendTail()
メソッド、String.substring()
メソッド、capitalize()
関数と String.substring()
メソッドです。それぞれのメソッドの実装について例を挙げて説明します。
toCharArray()
メソッドに関連付けられた upperCaseFirst()
を用いた文字列の最初の文字の大文字化
この過程では、string
の値を受け取り、それを文字の配列に変換する upperCaseFirst()
メソッドを導入します。次に、Character
クラスと toUpperCase()
メソッドを用いて文字配列の最初の要素を大文字にします。最後に、String Constructor
を用いて文字配列を文字列に変換します。以下の例を見てみましょう。
import java.io.*;
import java.lang.*;
import java.util.*;
public class Main {
public static String upperCaseFirst(String val) {
char[] arr = val.toCharArray();
arr[0] = Character.toUpperCase(arr[0]);
return new String(arr);
}
public static void main(String[] args) {
String val1 = "java";
String val2 = "advanced java";
String output = upperCaseFirst(val1);
System.out.println(val1);
System.out.println(output);
output = upperCaseFirst(val2);
System.out.println(val2);
System.out.println(output);
}
}
出力:
java
Java
advanced java
Advanced java
toUpperCase()
メソッドと appendTail()
メソッドを用いた文字列の最初の文字の大文字化
抜け道では、toUpperCase()
と appendTail()
の 2つのメソッドが登場します。これら 2つのメソッドを 1つのアプリケーション内で実装するために、regex.Matcher
と regex.Pattern
パッケージをインポートします。以下の例では、これらについて詳しく説明します。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String str = "hello world!";
System.out.println(str);
StringBuffer strbf = new StringBuffer();
Matcher match = Pattern.compile("([a-z])([a-z]*)", Pattern.CASE_INSENSITIVE).matcher(str);
while (match.find()) {
match.appendReplacement(strbf, match.group(1).toUpperCase() + match.group(2).toLowerCase());
}
System.out.println(match.appendTail(strbf).toString());
}
}
出力:
hello world!
Hello World!
String.substring()
を用いて文字列の最初の文字を大文字にする
与えられた文字列の最初の文字を大文字にする最も簡単で簡単なコツは String.substring()
メソッドを使用することです。以下の例で説明しましょう。
import java.util.*;
public class Main {
public static void main(String[] args) {
String str = "java";
String firstLtr = str.substring(0, 1);
String restLtrs = str.substring(1, str.length());
firstLtr = firstLtr.toUpperCase();
str = firstLtr + restLtrs;
System.out.println("The modified string is: " + str);
}
}
出力:
The modified string is: Java
上の例では、一つの文字列変数 str
を作成しました。ここで、firstLtr
は文字列の最初の文字を、restLtrs
は文字列の残りの文字を表します。最後に、firstLtr
を toUpperCase()
メソッドを用いて大文字に変換し、2つの部分文字列を結合して string
を形成します。
文字列の最初の文字を大文字にするには String.substring()
メソッドを用いる関数 capitalize()
を用いる
この最後の例では、関数 capitalize()
を使用して String.substring()
メソッドを使用する前に、与えられた string
が少なくとも 1 文字を持つことを確認します。
import java.util.*;
public class Main {
public static String capitalize(String str) {
if (str == null || str.isEmpty()) {
return str;
}
return str.substring(0, 1).toUpperCase() + str.substring(1);
}
public static void main(String[] args) {
String str = "hello world!";
String firstLtr = str.substring(0, 1);
String restLtrs = str.substring(1, str.length());
firstLtr = firstLtr.toUpperCase();
str = firstLtr + restLtrs;
System.out.println("The modified string is: " + str);
}
}
出力:
The modified string is: Hello world!