【Java】いろんな文字列操作(String)について実施してみる

Java

はじめに

今回はJavaのいろんな文字列操作について勉強したことを記載していきたいと思います。
記載内容は主に「文字列結合」「文字列検索」「文字列比較」「文字列置換」

 

文字列結合

+演算子による結合

「+」演算子を使用することで文字列の結合をすることができます。ただし、+演算子を使用時を使用するたびにオブジェクトが生成され続けるため、メモリの圧迫を引き起こす可能性があります。そのためループ処理を実施する際に使用し続ける際には推奨されません。

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        System.out.println("Hello" + "World");
    }

 

StringBuilderによる結合

大量の文字列結合が発生する場合は、StringBuilderを使用することが推奨されます。

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        StringBuilder message = new StringBuilder();
        message.append("Hello");
        message.append("World");

        System.out.println(message);
    }

 

Concatによる結合

concatメソッドを使用することで、文字列結合をすることも可能です。

     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        String message = "Hello";
        String message2 = "World";

        System.out.println(message.concat(message2));
    }

 

文字列の長さ

length

lengthメソッドを使用することで、文字列の長さを取得することができます。

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        String message = "Hello World";

        System.out.println(message.length());
    }

 

文字列の切り取り

substring

文字列の切り取りを実施するにはsubstringメソッドを使用します。引数のindexは「0」からはじまります。

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        String message = "Hello World";

        // 6文字目を取得
        System.out.println(message.substring(5));
        // 6文字目から8文字目を取得
        System.out.println(message.substring(5,7));
    }

 

文字列の分割

split

指定した文字で文字列を分割するには、splitメソッドを使用します。

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        String message = "H,e,l,l,o,W,o,r,l,d";
        String[] splitMessage = message.split(",");

        System.out.println(splitMessage.length);
    }

 

文字列比較

equals

文字列を比較するときは、equalsメソッドを使用します。

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        String message = "Hello";
        String message2 = "World";

        System.out.println(message.equals(message2));
    }

 

equalsIgnoreCase

大文字小文字を無視した文字列比較をする際は、equalsIgnoreCaseを使用します。

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        String message = "hello";
        String message2 = "HELLO";

        System.out.println(message.equalsIgnoreCase(message2));
    }

 

文字列置換

replace

指定した文字列を置換する際は、replaceメソッドを使用します。第1引数の文字列を第2引数の文字列に変換することができます。

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        String message = "Hello World";

        System.out.println(message.replace("World", "Hello"));
    }

 

大文字・小文字に変換

toUpperCase/toLowerCase

大文字に変換する場合は、toUpperCaseを使用し、小文字に変換する場合はtoLowerCaseを使用します。

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        String message = "Hello World";

        System.out.println(message.toUpperCase());
        System.out.println(message.toLowerCase());
    }

 

前後の空白を埋める

trim

trimを使用することで前後の空白を埋めることができます。

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        String message = " Hello World ";

        System.out.println(message.trim());
    }

 

文字列を数値に変換する

parseInt

parseIntを使用することで、文字列からintに変換することができます。

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        String message = "5";
        int i = Integer.parseInt(message);

        System.out.println(i);
    }

 

文字列の中に変数を埋め込む

format

formatメソッドを使用することで、文字列の途中に変数の文字列を埋め込むことができます。埋め込む箇所を「%s」と記述した箇所になります。
第1引数に対して、第2引数以降で指定した文字列を順番に埋め込みます。複数指定したい場合は、その数分「%s」と引数を追加します。

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        String message = "Hello World %s";
        String message2 = "%s Hello %s World%s ";

        String test = "test";

        System.out.println(String.format(message, test));
        System.out.println(String.format(message2, test, test, test));
    }

 

ドキュメント

【公式ドキュメント】
Java SE Specifications (oracle.com)

 

最後に

Javaの環境構築は、この記事を参照してみてください。
【開発環境構築】VS CodeでJavaを使用するための環境構築を実施する – SEもりのLog (selifemorizo.com)

以上、ログになります。
これからも継続していきましょう!!

Javaサーバーサイド関連
おすすめIT本
良いコード/悪いコードで学ぶ設計入門

「ITエンジニア本大賞2023」技術書部門で大賞を受賞した本です。
・コードの可読性
・普段意識したほうが良いこと
・リファクタリング考え方
等、普段のコードを設計する際に意識することが書かれています。
コードのあるべき姿に迷ったら一度読んでみると良い本です。

仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん

Dockerって何?となったときに私が最初に読んだ本です。
Dockerがどんな仕組みで動いているのか、コマンドでは何を命令しているのかを理解できるように、イラストを多用して説明しています。

1冊ですべて身につくJavaScript入門講座

「ITエンジニア本大賞2024」技術書部門で大賞を受賞した本です。
私が次に読もうと思っている本なのでおすすめとして挙げておきたいと思います。

コメント

タイトルとURLをコピーしました