首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何删除字符串中的最后一个字符?

如何删除字符串中的最后一个字符?
EN

Stack Overflow用户
提问于 2011-09-16 07:16:03
回答 33查看 1.2M关注 0票数 557

我想删除字符串中的最后一个字符。我试过这样做:

代码语言:javascript
复制
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这个词。

EN

回答 33

Stack Overflow用户

回答已采纳

发布于 2011-09-16 07:21:25

replace将替换letter的所有实例。您所需要做的就是使用substring()

代码语言:javascript
复制
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;
}
票数 756
EN

Stack Overflow用户

发布于 2012-12-22 18:01:05

为什么不只有一个班轮呢?

代码语言:javascript
复制
public static String removeLastChar(String str) {
    return removeLastChars(str, 1);
}

public static String removeLastChars(String str, int chars) {
    return str.substring(0, str.length() - chars);
}

完整代码

代码语言:javascript
复制
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) + "==");
    }
    
    public static String removeLastChar(String str) {
        return removeLastChars(str, 1);
    }

    public static String removeLastChars(String str, int chars) {
        return str.substring(0, str.length() - chars);
    }
}

Demo

票数 264
EN

Stack Overflow用户

发布于 2013-08-27 16:25:54

由于我们讨论的是一个主题,因此也可以使用正则表达式

代码语言:javascript
复制
"aaabcd".replaceFirst(".$",""); //=> aaabc  
票数 104
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7438612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档