Używam WinForms c #, mam wartość ciągu jak poniżej,
string Something = "1,5,12,34,";
Muszę usunąć ostatni przecinek w ciągu. Więc jak mogę to usunąć?
Używam WinForms c #, mam wartość ciągu jak poniżej,
string Something = "1,5,12,34,";
Muszę usunąć ostatni przecinek w ciągu. Więc jak mogę to usunąć?
Odpowiedzi:
Spróbuj string.TrimEnd()
:
Something = Something.TrimEnd(',');
Odpowiedź King Kinga jest oczywiście poprawna. Również komentarz Tima Schmeltera jest również dobrą sugestią w twoim przypadku.
Ale jeśli naprawdę chcesz usunąć ostatni przecinek w ciągu , powinieneś znaleźć indeks ostatniego przecinka i usunąć polubienie;
string s = "1,5,12,34,12345";
int index = s.LastIndexOf(',');
Console.WriteLine(s.Remove(index, 1));
Wyjście będzie;
1,5,12,3412345
Tutaj demonstration
.
Jest to zbyt mało prawdopodobne, abyś chciał w ten sposób, ale chcę to wskazać. I pamiętaj, String.Remove
metoda nie usuwa żadnego znaku z oryginalnego ciągu, zwraca nowy ciąg.
Metoda TrimEnd przyjmuje wejściową tablicę znaków, a nie ciąg. Poniższy kod z Dot Net Perls przedstawia bardziej wydajny przykład wykonywania tej samej funkcji co 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;
}
Lub możesz najpierw przekonwertować go na Char Array przez:
string Something = "1,5,12,34,";
char[] SomeGoodThing=Something.ToCharArray[];
Teraz masz każdą postać indexed
:
SomeGoodThing[0] -> '1'
SomeGoodThing[1] -> ','
Pobaw się
Kiedy masz spacje na końcu. możesz użyć beliow.
ProcessStr = ProcessStr.Replace(" ", "");
Emails = ProcessStr.TrimEnd(';');
string
? Zakładam z powodu pętli, która łączy przecinki zint
s. Możesz użyćstring.Join(",", ints)
zamiast tego. To przede wszystkim pozwala uniknąć końcowych przecinków.