0
0

More than 3 years have passed since last update.

replace()メソッドの使い方(Javaシルバー)

Last updated at Posted at 2020-10-31

replaceメソッド

文字列を置換する

replaceメソッドは対象の文字列から第1引数で指定した文字列を検索し、マッチした文字列を第2引数で指定した文字列で置換する。そして、置換後の文字列を戻り値として返す。文字列の置換は先頭から始まり、文字列の最後まで行われる。

簡単に言うと第一引数で指定した文字列を第二引数で指定した文字列に置換する。

Stringクラスのメソッド

java.lang.String.replace()

使い方

対象の文字列.replace(置換される文字列, 置換文字列)

    public static void main(String[] args) {

          // 対象の文字列
          String strBefore = "Hello world!";

          // 置換される文字列"Hello" を 置換文字列"Goodbye"に置換
          String strAfter = strBefore.replace("Hello", "Goodbye");

          System.out.println(strAfter);
        }

実行結果

Goodbye world!

置換する箇所が複数ある場合

置換する箇所が複数ある場合は、該当箇所が全て置換される。

    public static void main(String[] args) {

          // // 対象の文字列
          String strBefore = "aabbaacc aab ";

          // "aa"→"DDD"に置換
          String strAfter = strBefore.replace("aa", "DDD");

          System.out.println(strAfter);

        }

実行結果

DDDbbDDDcc DDDb 

文字列の置換は先頭から順番に始まる

以下の例では先頭のAAAとその次のAAAがBに置換される。
そのためAABBやABBAにはならない。

    public static void main(String[] args) {

          // 置換前文字列 Aが8個
          String strBefore = "AAAAAAAA";

          // "AAA"→"B" に置換
          String strAfter = strBefore.replace("AAA", "B");

          System.out.println(strAfter);

        }

実行結果


BBAA

引数について

replaceメソッドはオーバーロードされており、char型の引数を2つ受け取るものと、CharSequence型の引数を2つ受け取るものがある。char型とCharSequence型が混在する引数を受け取るオーバーロードは存在しないことに注意する。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0