1. ホーム
  2. java

[解決済み] 文字列から最後の文字を削除するには?

2022-03-18 07:06:56

質問

文字列から最後の1文字を削除したい。こんなことをやってみました。

public String method(String str) {
    if (str.charAt(str.length()-1)=='x'){
        str = str.replace(str.substring(str.length()-1), "");
        return str;
    } else{
        return str;
    }
}

文字列の長さ-1を取得し、最後の文字を何もない状態に置き換える(削除する)のですが、プログラムを実行するたびに、最後の文字と同じ中間文字が削除されます。

例えば、単語は "admirer" で、メソッドを実行すると "admie." が返ってきますが、admire という単語を返して欲しいのです。

どのように解決するのですか?

replace は、ある文字のすべてのインスタンスを置き換えます。必要なのは substring() :

public String method(String str) {
    if (str != null && str.length() > 0 && str.charAt(str.length() - 1) == 'x') {
        str = str.substring(0, str.length() - 1);
    }
    return str;
}