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

597

我想从字符串中删除最后一个字符。我尝试了以下方法:

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。

37个回答

0

易如反掌:

StringBuilder sb= new StringBuilder();
for(Entry<String,String> entry : map.entrySet()) {
        sb.append(entry.getKey() + "_" + entry.getValue() + "|");
}
String requiredString = sb.substring(0, sb.length() - 1);

0

只需像这样更改“if”的条件:

if(a.substring(a.length()-1).equals("x"))'

这将为您完成任务。


0
假设我的字符串总长度为24 我想要从位置14到结尾截取最后一个字符,也就是说我想要从14开始。 所以我采用以下解决方案。
String date = "2019-07-31T22:00:00.000Z";
String result = date.substring(0, date.length() - 14);

-1

如果你想要删除末尾的特定字符,可以使用以下代码:

myString.removeSuffix("x")

-2
这是一种在字符串中删除最后一个字符的方法:
Scanner in = new Scanner(System.in);
String s = in.nextLine();
char array[] = s.toCharArray();
int l = array.length;
for (int i = 0; i < l-1; i++) {
    System.out.print(array[i]);
}

-2

你可以这样做:

hereString = hereString.replace(hereString.charAt(hereString.length() - 1), 'whitespace');


-3
使用StringUtils.Chop(Str)函数,它可以处理空字符串和null值,需要导入common-io库:
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.8.0</version>
    </dependency>

我认为对于这样一个简单的功能,不需要添加外部库。 - Denilson Anachury

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接