Java
 Computer >> コンピューター >  >> プログラミング >> Java

【Java入門】文字列内のスペースを特定の文字に置き換える方法を解説

この記事では、Javaを使って文字列に含まれるスペース(空白)を、指定した特定の文字に置き換える方法を詳しく解説します。文字列(String)とは、1つ以上の文字が並んだデータ型で、ダブルクォーテーション(" ")で囲んで表現します。

まずは、どのような処理を行うのか具体例を見てみましょう。

入力例

入力文字列:Java Program is fun to learn
入力する文字:$

期待される出力

スペースを指定した文字に置き換えた結果:
Java$Program$is$fun$to$learn

このように、文字列中のすべての半角スペースが「$」に置き換えられています。

処理のアルゴリズム

全体の流れは以下の手順になります。

ステップ1:処理を開始する
ステップ2:文字列型の変数 input_string と、char型の変数 input_character を宣言する
ステップ3:それぞれの変数に値を設定する
ステップ4:replace() メソッドを使って、空白を指定した文字に置き換える
ステップ5:結果を画面に表示する
ステップ6:処理を終了する

例1:mainメソッド内ですべての処理を実行する方法

最初の例では、すべての操作を main メソッドの中にまとめて記述します。シンプルなプログラムでは、この書き方が最も基本的な形となります。

public class Demo {
    public static void main(String[] args) {
        String input_string = "Java Program is fun to learn";
        System.out.println("定義された文字列:" + input_string);
        char input_character = '$';
        System.out.println("置き換えに使う文字:" + input_character);
        input_string = input_string.replace(' ', input_character);
        System.out.println("スペースを指定した文字に置き換えた結果:");
        System.out.println(input_string);
    }
}

実行結果

定義された文字列:Java Program is fun to learn
置き換えに使う文字:$
スペースを指定した文字に置き換えた結果:
Java$Program$is$fun$to$learn

例2:オブジェクト指向スタイルで関数に分割する方法

次の例では、置き換え処理を独立したメソッドとして切り出し、オブジェクト指向プログラミング(OOP)らしい構造にしています。処理をメソッド化することで、コードの再利用性や可読性が向上します。

public class Demo {
    static void space_replace(String input_string, char input_character){
        input_string = input_string.replace(' ', input_character);
        System.out.println("スペースを指定した文字に置き換えた結果:");
        System.out.println(input_string);
    }
    public static void main(String[] args) {
        String input_string = "Java Program is fun to learn";
        System.out.println("定義された文字列:" + input_string);
        char input_character = '$';
        System.out.println("置き換えに使う文字:" + input_character);
        space_replace(input_string, input_character);
    }
}

実行結果

定義された文字列:Java Program is fun to learn
置き換えに使う文字:$
スペースを指定した文字に置き換えた結果:
Java$Program$is$fun$to$learn

ポイント解説

ここで使用している replace() メソッドは、Stringクラスが提供する組み込みメソッドの一つです。第一引数に置き換え対象の文字(この場合は半角スペース ' ')、第二引数に置き換え後の文字を指定します。なお、Stringは不変(イミュータブル)なオブジェクトであるため、replace() の戻り値を元の変数に再代入するか、新しい変数に格納する必要がある点に注意しましょう。

また、正規表現を使いたい場合は replaceAll() メソッドを利用することもできます。たとえば、タブや連続する複数の空白など、より柔軟なパターンで置き換えたい場合に便利です。

  1. Javaで文字列が特定のサブ文字列で始まるかどうかを確認する方法

    Javaでは、Stringクラスを使用して文字列を表現します。Javaプログラム内のすべての文字列リテラルは、Stringクラスのインスタンスとして実装されています。Stringは定数として扱われ、一度生成されるとその値は変更できません(不変・immutable)という特徴を持っています。ある文字列が特定の文字列(サブ文字列)で始まっているかどうかを確認したい場合は、Stringクラスが提供するstartsWith()メソッドを使用します。このメソッドはboolean型の値、つまりtrueまたはfalseを返します。先頭が一致すればtrue、一致しなければfalseとなります。構文public

  2. 【Java入門】文字列の中で最も多く出現する文字を出力する方法

    JavaのStringクラスは文字列を表現するためのクラスで、プログラム内に記述されたすべての文字列リテラルはStringクラスのインスタンスとして扱われます。Stringオブジェクトは定数であり、一度生成するとその値を変更することができない(イミュータブル)という重要な特徴を持っています。 以下のプログラムでは、与えられた文字列の中から最も多く出現する文字(最大出現文字)とその出現回数を出力します。 サンプルコード public class MaxOccuredCharacterTest { public static void main(String[] args) {