文字列から最後の文字を削除したいです。次のようにしてみました:
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;
}