Java で文字列から最後の文字を削除する方法

Mohammad Irfan 2023年10月12日
  1. Java の substring() メソッドを用いた文字列から最後の文字を削除する
  2. Java の replaceFirst() メソッドを用いて文字列から最後の文字を削除する
  3. Java の removeEnd() メソッドを用いて文字列から最後の文字を削除する
  4. Java の chop() メソッドを用いて文字列から最後の文字を削除する
  5. Java の substring() メソッドを用いて文字列から最後の文字を削除する
  6. Java 8 以上で文字列から最後の文字を削除する
Java で文字列から最後の文字を削除する方法

このチュートリアルでは、Java で文字列から最後の文字を削除する方法を紹介するとともに、トピックを理解するためのコード例をいくつか挙げています。最後の文字を削除する方法はいくつかあり、substring() メソッドや StringUtils クラスなどがあります。例をよく見てみましょう。

Java の substring() メソッドを用いた文字列から最後の文字を削除する

文字列オブジェクトから部分文字列を取得するには、String クラスの substring() メソッドを用います。これは開始インデックスと最後のインデックスの 2つの引数をとります。ここでは、最後の文字を除いた文字列を取得するために substring() メソッドを用いています。以下の例を参照してください。

public class SimpleTesting {
  public static void main(String args[]) {
    String str = "removea";
    str = str.substring(0, str.length() - 1);
    System.out.println(str);
  }
}

出力:

remove

Java の replaceFirst() メソッドを用いて文字列から最後の文字を削除する

文字列から最後の文字を削除するには replaceFirst() メソッドを使用することができます。これは文字を置換した後の文字列を返します。以下の例を参照してください。

public class SimpleTesting {
  public static void main(String args[]) {
    String str = "removea";
    str = str.replaceFirst(".$", "");
    System.out.println(str);
  }
}

出力:

remove

Java の removeEnd() メソッドを用いて文字列から最後の文字を削除する

Apache commons lang ライブラリを使っている場合、文字列の最後の文字を削除するために removeEnd() メソッドを提供する StringUtils クラスを使用するのがよいでしょう。以下の例を参照してください。

import org.apache.commons.lang3.StringUtils;

public class SimpleTesting {
  public static void main(String args[]) {
    String str = "removea";
    str = StringUtils.removeEnd(str, "a");
    System.out.println(str);
  }
}

出力:

remove

Java の chop() メソッドを用いて文字列から最後の文字を削除する

もう一つのメソッド StringUtils クラスの chop() は、指定した文字列から最後の文字を削除して文字列を返します。

import org.apache.commons.lang3.StringUtils;

public class SimpleTesting {
  public static void main(String args[]) {
    String str = "removea";
    str = StringUtils.chop(str);
    System.out.println(str);
  }
}

出力:

remove

Java の substring() メソッドを用いて文字列から最後の文字を削除する

StringUtils クラスは 3つの引数を取る substring() メソッドを提供します。1つ目は文字列、2つ目は開始インデックス、3つ目は文字列の終了インデックスです。これは指定した文字列の部分文字列である文字列を返します。以下の例を参照してください。

import org.apache.commons.lang3.StringUtils;

public class SimpleTesting {
  public static void main(String args[]) {
    String str = "removea";
    str = StringUtils.substring(str, 0, -1);
    System.out.println(str);
  }
}

出力:

remove

Java 8 以上で文字列から最後の文字を削除する

Java 8 以上を使用している場合は、Optional クラスを使用して NULL 例外を回避し、文字列から最後の文字を削除する機能的なアプローチをとることができます。

import java.util.Optional;

public class SimpleTesting {
  public static void main(String args[]) {
    String str = "removea";
    str = Optional.ofNullable(str)
              .filter(s -> s.length() != 0)
              .map(s -> s.substring(0, s.length() - 1))
              .orElse(str);
    System.out.println(str);
  }
}

出力:

remove

関連記事 - Java String