585 Stimmen

Wie entfernt man das letzte Zeichen aus einer Zeichenkette?

Ich möchte das letzte Zeichen aus einer Zeichenkette entfernen. Ich habe versucht, dies zu tun:

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;
    }
}

Ich erhalte die Länge der Zeichenkette - 1 und ersetze den letzten Buchstaben durch nichts (ich lösche ihn), aber jedes Mal, wenn ich das Programm ausführe, löscht es die mittleren Buchstaben, die mit dem letzten Buchstaben identisch sind.

Ein Beispiel: Das Wort ist "admirer"; nachdem ich die Methode ausgeführt habe, erhalte ich "admie". Ich möchte, dass sie das Wort "admire" zurückgibt.

7voto

Donoso Punkte 97
 string = string.substring(0, (string.length() - 1));

Ich verwende dies in meinem Code, es ist leicht und einfach. es funktioniert nur, wenn der String > 0 ist. Ich habe es mit einer Schaltfläche verbunden und innerhalb der folgenden si Anweisung

if (string.length() > 0) {
    string = string.substring(0, (string.length() - 1));
}

4voto

Bachan Joseph Punkte 289
 // creating StringBuilder
 StringBuilder builder = new StringBuilder(requestString);
 // removing last character from String
 builder.deleteCharAt(requestString.length() - 1);

4voto

tstempko Punkte 1176

Wie kann eine einfache Aufgabe kompliziert gemacht werden? Meine Lösung ist:

public String removeLastChar(String s) {
    return s[0..-1]
}

o

public String removeLastChar(String s) {
    if (s.length() > 0) {
        return s[0..-1]
    }
    return s
}

4voto

Ganesa Vijayakumar Punkte 2206
public String removeLastChar(String s) {
    if (!Util.isEmpty(s)) {
        s = s.substring(0, s.length()-1);
    }
    return s;
}

4voto

Entfernt das letzte Vorkommen von 'xxx':

    System.out.println("aaa xxx aaa xxx ".replaceAll("xxx([^xxx]*)$", "$1"));

entfernt das letzte Vorkommen von 'xxx', wenn es das letzte ist:

    System.out.println("aaa xxx aaa  ".replaceAll("xxx\\s*$", ""));

Sie können das 'xxx' durch das ersetzen, was Sie wollen, aber achten Sie auf Sonderzeichen

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X