我想从一个字符串中删除最后一个字符。我已经尝试这样做了。
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;
}
为什么不只用一个衬词?
private static String removeLastChar(String str) {
return str.substring(0, str.length() - 1);
}
完整的代码
import java.util.*;
import java.lang.*;
public class Main {
public static void main (String[] args) throws java.lang.Exception {
String s1 = "Remove Last CharacterY";
String s2 = "Remove Last Character2";
System.out.println("After removing s1==" + removeLastChar(s1) + "==");
System.out.println("After removing s2==" + removeLastChar(s2) + "==");
}
private static String removeLastChar(String str) {
return str.substring(0, str.length() - 1);
}
}