我想从字符串中删除最后一个字符。我试过这样做:
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,并将最后一个字母替换为空(删除它),但每次我运行程序时,它都会删除与最后一个字母相同的中间字母。
例如,单词是“仰慕者”;在我运行这个方法之后,我得到了“钦佩”。我想让它回复“钦佩”这个词。
这个众所周知的问题在Perl中通过chop()和chomp()完美地解决了。
这里有一个很长的答案:Java chop and chomp
代码如下:
//removing trailing characters
public static String chomp(String str, Character repl) {
int ix = str.length();
for (int i=ix-1; i >= 0; i-- ){
if (str.charAt(i) != repl) break;
ix = i;
}
return str.substring(0,ix);
}
//hardcut
public static String chop(String str) {
return str.substring(0,str.length()-1);
}