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.

-2voto

alagu raja Punkte 7

Dies ist die einzige Möglichkeit, das letzte Zeichen in einer Zeichenkette zu entfernen:

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

-3voto

Baha' Al-Khateib Punkte 313

Verwenden Sie StringUtils.Chop(Str) es kümmert sich auch um null und leere Strings, u müssen common-io importieren:

    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.8.0</version>
    </dependency>

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