Java

【Java】文字列をreplace、replaceAll、replaceFirstを使って置換する方法を解説

今回はJavaの文字列を置換する方法について解説していきます。

JavaではString型で文字列を扱います。
このString型にはreplace、replaceAll、replaceFirstメソッドが組み込まれていて、これらのメソッドを使うことで、置換する事が可能です。

今回の記事ではJavaで文字列を置換するための3つのメソッドについて実際のコードを用いて解説していきます。

文字列をreplaceで置換

最初にreplaceメソッドについて解説します。
replaceメソッドは置換前の文字列と置換後の文字列を指定して使います。

文字列.replace(置換前の文字列, 置換後の文字列);

第一引数に置換前の文字列を指定し、第二引数に置換後の文字列を指定します。
置換した結果が戻り値として返ってきます。

サンプルコードで確認

次にサンプルコードで確認してみましょう。

String before = "こんにちは、今日は晴れですね。晴れは好きです。";
String after = before.replace("晴れ", "雨");
		
System.out.print(after);

実行結果

こんにちは、今日は雨ですね。雨は好きです。

replaceメソッドを使って、「晴れ」を「雨」に置換しました。
replaceメソッドでは文字列内に置換対象の文字列が複数登場すると全て置換されます。

replaceAllを使って正規表現で置換

次にreplaceAllメソッドの使い方を解説していきます。
replaceAllを利用することで正規表現を使った置換をすることができます。

文字列.replaceAll(正規表現, 置換後の文字列);

書き方は先ほどのreplaceメソッドと非常に似ています。
第一引数に置換したい正規表現を指定し、第二引数に置換後の文字列を指定します。
戻り値として置換後の文字列を取得することができます。

正規表現で置換するサンプル

replaceAllのサンプルです。

String before = "Herro, World!!";
String after = before.replaceAll("r{2}", "ll");
		
System.out.print(after);

実行結果

Hello, World!!

正規表現を使って、「r」が2回以上続いているときに「ll」に置換しました。
結果「Hello, World!!」と表示することができました。

replaceFirstで最初だけ置換

replaceメソッドでは指定した文字列内に出てきた全てを置換しましたが、最初だけ置換したい場合にはreplaceFirstを使う事で実現できます。

文字列.replaceFirst(正規表現, 置換後の文字列);

replaceFirstも今までと似たような書き方で使うことができます。
戻り値として置換後の文字列が返却されます。

replaceFirstのサンプル

replaceFirstを使ったサンプルです。

String before = "abababababab";
String after = before.replaceFirst("ab+", "Hello,");
		
System.out.print(after);

実行結果

Hello,ababababab

正規表現を使って、「ab」を置換しました。
最初の1回のみ置換するので、「Hello,」に置換されるのは1箇所になります。

今回はJavaで文字列を置換する方法について解説しました。
Javaではreplaceメソッド、replaceAllメソッド、replaceFirstメソッドなどを利用することで文字列を置換することができます。
それぞれの違いを踏まえて、自分が実現したいことができるメソッドを利用するようにしましょう。

プログラミング初心者からWebアプリを開発できるようになってエンジニアに就職・転職するまでの学習手順をまとめた記事もあります!
こちらもぜひご覧ください!!

-Java
-, , ,