808 Stimmen

Das letzte Zeichen aus der Zeichenkette entfernen

Wie kann ich das letzte Zeichen aus einer Zeichenkette entfernen?

"abcdefghij"    "abcdefghi"

1278voto

Cyrille Punkte 13497

Einfach:

my_str =  "abcdefghij"
my_str = my_str[:-1]

Probieren Sie den folgenden Codeschnipsel aus, um besser zu verstehen, wie es funktioniert, indem Sie die Zeichenkette als Liste darstellen:

str1 = "abcdefghij"
list1 = list(str1)
print(list1)
list2 = list1[:-1]
print(list2)

Für den Fall, dass Sie die Zeichenfolge vom Benutzer akzeptieren möchten:

str1 = input("Enter :")
list1 = list(str1)
print(list1)
list2 = list1[:-1]
print(list2)

Um das letzte Wort eines Satzes zu entfernen (mit Wörtern, die durch Leerzeichen getrennt sind):

str1 = input("Enter :")
list1 = str1.split()
print(list1)
list2 = list1[:-1]
print(list2)

12voto

Nico Punkte 808

Die einfachste Lösung für Sie ist die Verwendung von String-Slicing .

Python 2/3:

source[0: -1]  # gets all string but not last char

Python 2:

source = 'ABC'    
result = "{}{}".format({source[0: -1], 'D')
print(result)  # ABD

Python 3:

source = 'ABC'    
result = f"{source[0: -1]}D"
print(result)  # ABD

0voto

Arslanex Punkte 43

Es gibt also eine Funktion namens rstrip() für Dinge wie diese. Sie geben den Wert ein, den Sie löschen wollen, in diesem Fall das letzte Element, also string[-1] :

string = "AbCdEf" 
newString = string.rstrip(string[-1])
print(newString)

Wenn Sie seinen Code ausführen, sollten Sie sehen, dass der Wert "f" gelöscht wird.

OUTPUT: AbCdE

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