【Java】toUpperCase/toLowerCaseを使って文字を大文字・小文字に変換!
文字を大文字へ変換するにはStringクラスのtoUpperCaseメソッド、小文字へ変換するにはStringクラスのtoLowerCaseメソッドを使用します。
toUpperCaseメソッドはすべての文字を大文字に変換するメソッドになり、toLowerCaseメソッドはすべての文字を小文字に変換するメソッドになります。
これらのメソッドを使うことで、大文字と小文字を無視して文字列を比較することができます。
また、他のメソッドと組み合わせて先頭の文字だけを大文字に設定して表示することもできます。
今回はtoUpperCase、toLowerCaseを使って以下の場合で文字を大文字・小文字に変換していきます。
⚫︎ アルファベットを大文字・小文字に変換する場合
⚫︎ ロケールを変換してアルファベットを大文字・小文字に変換する場合
⚫︎ ひらがなを大文字・小文字に変換する場合
⚫︎ ギリシャ文字をを大文字・小文字に変換する場合
⚫︎ 文字列の先頭を大文字にし、それ以外を小文字にする場合
目次
toUpperCaseとは
toUpperCaseとはすべての文字を大文字に変換するメソッドになります。
toUpperCaseの書き方
toUpperCaseの構文は下記となります。
1 |
変換したい文字列.toUpperCase(Locate); |
toUpperCaseの()に文字列を指定することで指定した変換したい文字列を大文字に変換します。
メソッドにLocaleが渡されない場合は、デフォルトのLocaleが使用されます。
toLowerCaseとは
toLowerCaseとはすべての文字を小文字に変換するメソッドになります。
toLowerCaseの書き方
toLowerCaseの構文は下記となります。
1 |
変換したい文字列.toLowerCase(Locate); |
toLowerCaseの()に文字列を指定することで指定した変換したい文字列を小文字に変換します。
メソッドにLocaleが渡されない場合は、デフォルトのLocaleが使用されます。
文字を大文字、小文字に変換するサンプルコード
文字を大文字、小文字に変換するサンプルコードを紹介します。
アルファベットを変換する場合
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// 文字を大文字・小文字に変換する import java.util.Locale; public class Main { public static void main(String[] args) throws Exception { String str1 = "abcdefghIi"; // 変換対象文字列 String upper = str1.toUpperCase(); // 大文字化 String lower = str1.toLowerCase(); // 小文字化 System.out.println("変換前:" + str1); System.out.println("大文字化:" + upper); System.out.println("小文字化:" + lower); } } |
出力結果
変換前:abcdefghIi
大文字化:ABCDEFGHII
小文字化:abcdefghii
toUpperCaseメソッドとtoLowerCaseメソッドによって文字列を大文字、小文字に変換しています。
ロケールを変換する場合
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
// 文字を大文字・小文字に変換する import java.util.Locale; public class Main { public static void main(String[] args) throws Exception { System.out.println("デフォルトロケールでの変換"); // 変換対象文字列 String str1 = "abcdefghIi"; // トルコ語での変換 System.out.println("ロケールをトルコ語にして変換"); Locale locale = new Locale("tr"); upper = str1.toUpperCase(locale); // 大文字化 lower = str1.toLowerCase(locale); // 小文字化 System.out.println("変換前 :" + str1); System.out.println("大文字化:" + upper); System.out.println("小文字化:" + lower); } } |
出力結果
ロケールをトルコ語にして変換
変換前 :abcdefghIi
大文字化:ABCDEFGHIİ
小文字化:abcdefghıi
ロケールとは、言語や通過などの地域ごとに異なる情報のことです。
オペレーティングシステムの設定や環境変数を使ってデフォルトのロケールを変更し、トルコ語に設定しています。
ロケールのデフォルトは日本となります。
ひらがなを変換する場合
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// 文字を大文字・小文字に変換する import java.util.Locale; public class Main { public static void main(String[] args) throws Exception { String str2 = "あいうえお"; // 変換対象文字列 String upper = str2.toUpperCase(); // 大文字化 String lower = str2.toLowerCase(); // 小文字化 System.out.println("変換前:" + str2); System.out.println("大文字化:" + upper); System.out.println("小文字化:" + lower); } } |
出力結果
デフォルトロケールでの変換
変換前:あいうえお
大文字化:あいうえお
小文字化:あいうえお
toUpperCaseとtoLowerCaseはひらがなの場合では変更されません。
ギリシャ文字を変換する場合
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// 文字を大文字・小文字に変換する import java.util.Locale; public class Main { public static void main(String[] args) throws Exception { String str = "ΑαΒβΓγΔδΕεΖζ"; // 変換対象文字列 String upper = str.toUpperCase; // 大文字化 String lower = str.toLowerCase; // 小文字化 System.out.println("変換前:" + str); System.out.println("大文字化:" + upper); System.out.println("小文字化:" + lower); } } |
出力結果
変換前:あいうえお
大文字化:あいうえお
toUpperCaseとtoLowerCaseによってギリシャ文字が大文字と小文字に変換されています。
先頭の文字だけを大文字にする場合
先頭の文字だけを大文字にする場合には、文字列を抜き出すsubStringメソッドを使います。
例
1 2 3 4 5 6 7 8 9 10 11 12 |
// 先頭を大文字に変換する import java.util.Locale; public class Main { public static void main(String[] args) throws Exception { String str = "hello"; str = str.substring(0, 1).toUpperCase + str.substring(1).toLowerCase; System.out.println(str); } } |
出力結果
Hello
今回のポイント
toUpperCaseで大文字、toLowerCaseで小文字に変換
アルファベットの大文字に変換するにはStringクラスのtoUpperCasedメソッド、小文字に変換するにはStringクラスのtoLowerCaseメソッドを使用する!
⚫︎ StringクラスのtoUpperCaseメソッドで文字をすべて大文字に変換し、StringクラスのtoLowerCaseメソッドで文字をすべて小文字に変換する
⚫︎ toUpperCaseメソッドやtoLowerCaseメソッドはアルファベット・ギリシャ文字・キリル文字・ひらがなを含んだ文字列は変換できるが、ひらがな、カタカナ、漢字などは変換されない
⚫︎ toUpperCaseメソッドやtoLowerCaseメソッドはロケールを変えることで、「I」がトルコ語に変換されたように文字の変換ルールを変えることができる
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。