Ich benutze WinForms c #. Ich habe String-Wert wie unten,
string Something = "1,5,12,34,";
Ich muss das letzte Komma in einer Zeichenfolge entfernen. Wie kann ich es löschen?
Ich benutze WinForms c #. Ich habe String-Wert wie unten,
string Something = "1,5,12,34,";
Ich muss das letzte Komma in einer Zeichenfolge entfernen. Wie kann ich es löschen?
Antworten:
Versuchen Sie string.TrimEnd()
:
Something = Something.TrimEnd(',');
Die Antwort von König König ist natürlich richtig. Auch Tim Schmelters Kommentar ist in Ihrem Fall ein guter Vorschlag.
Wenn Sie jedoch das letzte Komma in einer Zeichenfolge wirklich entfernen möchten , sollten Sie den Index des letzten Kommas finden und like entfernen.
string s = "1,5,12,34,12345";
int index = s.LastIndexOf(',');
Console.WriteLine(s.Remove(index, 1));
Ausgabe wird sein;
1,5,12,3412345
Hier a demonstration
.
Es ist zu unwahrscheinlich, dass Sie diesen Weg wollen, aber ich möchte darauf hinweisen. Und denken Sie daran, dass die String.Remove
Methode kein Zeichen in der ursprünglichen Zeichenfolge entfernt, sondern eine neue Zeichenfolge zurückgibt.
Die TrimEnd-Methode verwendet ein Eingabezeichenarray und keine Zeichenfolge. Der folgende Code von Dot Net Perls zeigt ein effizienteres Beispiel für die Ausführung derselben Funktionalität wie TrimEnd.
static string TrimTrailingChars(string value)
{
int removeLength = 0;
for (int i = value.Length - 1; i >= 0; i--)
{
char let = value[i];
if (let == '?' || let == '!' || let == '.')
{
removeLength++;
}
else
{
break;
}
}
if (removeLength > 0)
{
return value.Substring(0, value.Length - removeLength);
}
return value;
}
Oder Sie können es zuerst in Char Array konvertieren, indem Sie:
string Something = "1,5,12,34,";
char[] SomeGoodThing=Something.ToCharArray[];
Jetzt hast du jeden Charakter indexed
:
SomeGoodThing[0] -> '1'
SomeGoodThing[1] -> ','
Spielen Sie herum
string
? Ich nehme wegen einer Schleife an, die Kommas mitint
s verkettet . Sie könnenstring.Join(",", ints)
stattdessen verwenden. Dadurch werden in erster Linie Nachkommastellen vermieden.