Java の文字列を使った数値の削除

JavaJavaBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Java で文字列を処理して数値を取り除く方法を学びます。Java の文字列は、英数字や特殊文字を含むことができます。したがって、時には文字列からアルファベットのみを取得するために文字列のフィルタリングが必要になります。この実験では、replaceAll() メソッドを使用します。このメソッドは 2 つの引数を取ります。文字列のフィルタリングに使用する正規表現と、置換文字列です。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java(("Java")) -.-> java/ConcurrentandNetworkProgrammingGroup(["Concurrent and Network Programming"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/StringManipulationGroup(["String Manipulation"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java/BasicSyntaxGroup -.-> java/output("Output") java/StringManipulationGroup -.-> java/strings("Strings") java/StringManipulationGroup -.-> java/regex("RegEx") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/class_methods("Class Methods") java/FileandIOManagementGroup -.-> java/files("Files") java/FileandIOManagementGroup -.-> java/create_write_files("Create/Write Files") java/ConcurrentandNetworkProgrammingGroup -.-> java/working("Working") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/output -.-> lab-117447{{"Java の文字列を使った数値の削除"}} java/strings -.-> lab-117447{{"Java の文字列を使った数値の削除"}} java/regex -.-> lab-117447{{"Java の文字列を使った数値の削除"}} java/class_methods -.-> lab-117447{{"Java の文字列を使った数値の削除"}} java/files -.-> lab-117447{{"Java の文字列を使った数値の削除"}} java/create_write_files -.-> lab-117447{{"Java の文字列を使った数値の削除"}} java/working -.-> lab-117447{{"Java の文字列を使った数値の削除"}} java/string_methods -.-> lab-117447{{"Java の文字列を使った数値の削除"}} end

新しい Java ファイルを作成する

~/project ディレクトリに移動し、次のコマンドを使用して新しい Java ファイルを作成します。

touch RemoveNumericValues.java

main() メソッドを定義する

RemoveNumericValues.java ファイルをテキストエディタで開き、main() メソッドを次のように定義します。

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "House123sector4";
        System.out.println("Original String: " + str);
    }
}

正規表現を使って数値を削除する

このステップでは、正規表現を使って文字列を処理して数値を削除します。

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "House123sector4";
        System.out.println("Original String: " + str);

        str = str.replaceAll("[^A-Za-z]", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

上記のコードでは、replaceAll() メソッドを使って文字列 str からアルファベット以外のすべての文字を置き換えています。正規表現 [A-Za-z] は、大文字の A から Z と小文字の a から z までのすべての文字に一致します。

正規表現を使って数字を削除する

このステップでは、正規表現を使って文字列を処理して数字を削除します。

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "House123sector4";
        System.out.println("Original String: " + str);

        str = str.replaceAll("\\d", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

上記のコードでは、replaceAll() メソッドを使って文字列 str からすべての数字を置き換えています。正規表現 \\d は、文字列に含まれるすべての数字に一致します。

正規表現を使って数字を削除する(代替方法)

このステップでは、文字列を処理して数字を削除するために別の正規表現を使います。

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "House123sector4";
        System.out.println("Original String: " + str);

        str = str.replaceAll("[0-9]", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

上記のコードでは、replaceAll() メソッドを使って文字列 str からすべての数字を置き換えています。正規表現 [0-9] は、文字列に含まれるすべての数字に一致します。

コードをコンパイルして実行する

RemoveNumericValues.java ファイルに加えた変更を保存し、ターミナルを開き、プロジェクトディレクトリに移動して、コードをコンパイルするために次のコマンドを入力します。

javac RemoveNumericValues.java

コードが正常にコンパイルされた後、コードを実行するために次のコマンドを入力します。

java RemoveNumericValues

コードの出力がターミナルに表示されます。

入力文字列を変更する

コードを異なる入力文字列でテストするために、str 文字列を好きな値に変更します。

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "Hello%&$3World";
        System.out.println("Original String: " + str);

        str = str.replaceAll("[^A-Za-z]", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

代替方法をテストする

代替方法をテストするために、前のバージョンのコードを次のように変更します。

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "Hello%&$3World";
        System.out.println("Original String: " + str);

        str = str.replaceAll("[0-9]", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

2 番目の方法をテストする

2 番目の方法をテストするために、前のバージョンのコードを次のように変更します。

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "Hello%&$3World";
        System.out.println("Original String: " + str);

        str = str.replaceAll("\\d", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

まとめ

この実験では、Java において文字列を使って数値を削除する方法を学びました。文字列をフィルタリングしてアルファベットのみを取得するために、replaceAll() メソッドとさまざまな正規表現を使いました。また、異なる入力文字列を使ってコードをテストする方法も学びました。