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.

0voto

Jacob Mehnert Punkte 63

Ich musste einen Code für ein ähnliches Problem schreiben. Eine Möglichkeit, das Problem zu lösen, war eine rekursive Methode der Kodierung.

static String removeChar(String word, char charToRemove)
{
    for(int i = 0; i < word.lenght(); i++)
    {
        if(word.charAt(i) == charToRemove)
        {
            String newWord = word.substring(0, i) + word.substring(i + 1);
            return removeChar(newWord, charToRemove);
        }
    }

    return word;
}

Die meisten Codes, die ich zu diesem Thema gesehen habe, verwenden keine Rekursion. Ich hoffe, ich kann Ihnen oder jemandem, der das gleiche Problem hat, helfen.

0voto

Tilak Maddy Punkte 3427

Warum nicht die Escape-Sequenz ... !

System.out.println(str + '\b');

Das Leben ist jetzt viel einfacher. XD ! ~ Ein lesenswerter Einzeiler

0voto

MoadKey Punkte 146

Wenn Sie Sonderzeichen wie ; in json haben, verwenden Sie einfach String.replace(";", ""), andernfalls müssen Sie alle Zeichen in der Zeichenfolge abzüglich des letzten neu schreiben.

-1voto

Ivo Stoyanov Punkte 14531

Wenn Sie ein bestimmtes Zeichen am Ende entfernen möchten, können Sie es verwenden:

myString.removeSuffix("x")

-2voto

abd ak Punkte 1

Du kannst es schaffen hereString = hereString.replace(hereString.chatAt(hereString.length() - 1) ,' whitespeace');

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