はじめに
Javaでプログラムを書いていると、文字列(String
)を
扱う機会って本当に多いですよね。
たとえば、
- ユーザーの入力チェック
- ログ出力
- ファイルの読み書き
- データの整形や分割
などなど、、、
でも、意外とString
クラスのメソッドを使いこなせていない人も多い。
この記事では、「あ、これ使えばラクだったんだ!」と思ってもらえるような、
便利かつ使用頻度の高いメソッドを厳選してまとめました。
初心者の方でも「読んですぐ使える」よう、
目的別に使い方と具体例つきで解説していきます!
1. length()
:文字数を数えたいとき
String name = "Pikachu";
System.out.println(name.length()); // 7
💡ポイント
- 配列の
length
とは違って、メソッド! - 半角も全角も「1文字 = 1カウント」になる。
2. isEmpty()
/ isBlank()
:空かどうかチェック
String s1 = "";
String s2 = " ";
System.out.println(s1.isEmpty()); // true
System.out.println(s2.isEmpty()); // false
System.out.println(s2.isBlank()); // true
💡ポイント
-
isEmpty()
は長さが0かどうか。 -
isBlank()
はスペースや改行なども含めて“中身がない”と判定してくれる。 - 入力バリデーションに超便利!
3. charAt(int index)
:一文字だけ取り出したい
String text = "Java";
System.out.println(text.charAt(1)); // 'a'
💡ポイント
- インデックスは0からスタート!
- 範囲外の値を指定すると
StringIndexOutOfBoundsException
になるので注意。
4. substring()
:部分的に取り出したい
String message = "Hello World";
System.out.println(message.substring(6)); // "World"
System.out.println(message.substring(0, 5)); // "Hello"
💡ポイント
-
substring(start)
は、start番目以降をすべて。 -
substring(start, end)
は、start以上end未満。
5. contains()
/ startsWith()
/ endsWith()
String email = "hitomin@example.com";
System.out.println(email.contains("@")); // true
System.out.println(email.startsWith("hitomin")); // true
System.out.println(email.endsWith(".com")); // true
💡ポイント
- メールアドレスの判定、ファイル拡張子チェックなどに便利!
6. indexOf()
/ lastIndexOf()
:どこにある?
String text = "banana";
System.out.println(text.indexOf("b")); // 0 ← 最初の'b'は0番目
System.out.println(text.indexOf("a")); // 1
System.out.println(text.lastIndexOf("a")); // 5
💡ポイント
- 該当文字がない場合は
-1
を返す。 - 前から探すか、後ろから探すかで使い分けよう。
7. replace()
:文字の置き換え
メソッド | 正規表現 | 例 |
---|---|---|
replace() | ❌ 使わない (文字列そのままを探す) |
"a.b".replace(".", "x") → "a xb" |
replaceAll() | ✅ 使う (.は正規表現の「任意の1文字」) |
"a.b".replaceAll(".", "x") → "xxx" |
String s = "ぴかぴかぴかー!";
System.out.println(s.replace("ぴか", "ピカ")); // ピカピカピカー!
💡ポイント
- 複数個所すべて置き換えてくれる。
- 正規表現対応したいなら
replaceAll()
を使おう。
8. toLowerCase()
/ toUpperCase()
:大小文字の変換
String s = "Java";
System.out.println(s.toUpperCase()); // JAVA
System.out.println(s.toLowerCase()); // java
💡ポイント
- ファイル名や入力の正規化(大文字小文字を統一)に便利。
9. trim()
:余分なスペースを削除
String s = " ピカチュウ ";
System.out.println(s.trim()); // "ピカチュウ"
💡ポイント
-
String
の前後にあるスペースだけを削除。 - 改行や全角スペースは削除されないこともあるので注意。
10. split()
:分割して配列に
String csv = "ピカチュウ,ヤドラン,ピジョン";
String[] pokemons = csv.split(",");
for (String pokemon : pokemons) {
System.out.println(pokemon);
}
💡ポイント
- 区切り文字は正規表現として扱われる。
-
"|"
(パイプ)は"\\|"
のようにエスケープが必要!
11. String.join()
:配列を文字列に
String[] names = {"コダック", "コラッタ", "ズバット"};
String joined = String.join("・", names);
System.out.println(joined); // コダック・コラッタ・ズバット
💡ポイント
-
split()
の逆操作をしたいときに便利。 - Java 8以降で利用可能!
12. format()
:テンプレートとして使いたい
String name = "ひとみん";
int level = 42;
String result = String.format("%sのレベルは%dです", name, level);
System.out.println(result); // ひとみんのレベルは42です
💡ポイント
-
System.out.printf()
と同じ書式で使える。 - 表示用のメッセージをきれいに整えたいときに便利。
13. valueOf()
:他の型を文字列に
int score = 100;
String text = String.valueOf(score);
System.out.println(text + "点"); // 100点
💡ポイント
-
+ ""
でも文字列化できるけど、こっちの方が明示的。
おわりに
どのメソッドも、「これってどうやって書くんだっけ?」となりがちだけど、
知っておくとコードがすっきり・読みやすく・安全になるものばかり。
特に、ユーザー入力を扱うWebアプリや、文字列整形が必要なバッチ処理では大活躍!
あとがき
ここまで読んでくれて、本当にありがとうございました。
「プログラミングって難しい…」って思ってた人も、
「ちょっと楽しいかも…!」って思ってもらえたらうれしいな。
次の投稿も、よろしくおねがいします。
💬 コメント・フィードバック歓迎!
「この章わかりやすかった!」
「これ表現まちがってない?」
「次は○○をやってほしい!」などなど、
お気軽にコメントで教えてくださいね!