文字列から最後の文字を削除するにはどうすればいいですか? 質問する

文字列から最後の文字を削除するにはどうすればいいですか? 質問する

文字列から最後の文字を削除したいです。次のようにしてみました:

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」が返されます。admirer という単語を返すようにしたいのです。

ベストアンサー1

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;
}

おすすめ記事