Warum string.TrimEnd entfernen nicht nur die letzten Zeichen im string
Habe ich Zeichenfolge, wie unten
2,44,AAA,BBB,1,0,,,
So, jetzt möchte ich entfernen, nur der Letzte Komma im obigen string. So möchte ich die Ausgabe als
2,44,AAA,BBB,1,0,,
Entschied ich mich für TrimeEnd wie unten
str.ToString.TrimEnd(',')
Aber es entfernt alle Kommas nach 0. So bekomme ich eine Ausgabe wie unten
2,44,AAA,BBB,1,0
Warum es entfernt alle die 3 Kommas nach 0? Ich brauche nur ein entfernen des letzten Zeichens im string
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weil das ist, was es dokumentiert zu tun:
Wenn Sie nur wollen, wird das Letzte Zeichen entfernt, den Sie verwenden könnten:
Beziehungsweise:
if
Aussagen etc. Es vermeidet Probleme, bei denen die Einrückung kann bedeuten, dass der code verhält sich ein Weg, wenn es sich tatsächlich anders verhält.Erwartet wird.
String.TrimEnd
Entfernt alle nachfolgende vorkommen eine Gruppe von Zeichen im angegebenen array aus dem aktuellen String-ObjektDen
TrimEnd(char[] trimChars)
Methode löscht aus dem aktuellen string alle nachfolgenden Zeichen, die in dertrimChars
parameter. Der trim-Vorgang Stoppt, wenn die ersten Zeichen, das nicht intrimChars
aufgetreten ist am Ende der ZeichenfolgeDiese stattdessen zu verwenden:
Diese:
string s = "2,44,AAA,BBB,1,0,,,123
, was würde dann passieren?Bitte denken Sie daran, die TrimEnd() ist nicht eine inplace-Funktion. Sollten Sie zuweisen, der sein Ergebnis auf
str
: