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型が混在する引数を受け取るオーバーロードは存在しないことに注意する。