Mam ciąg znaków, który wygląda tak: "texthere^D123456_02"
. Ale chcę, aby mój wynik był D123456
.Substring IndexOf in C#
to co robię do tej pory:
if (name.Contains("_"))
{
name = name.Substring(0, name.LastIndexOf('_'));
}
Z tego usunąć przynajmniej _02
, jednak gdy próbuję w ten sam sposób dla ^
potem zawsze wrócić texthere
, nawet gdy używam name.IndexOf("^")
Próbowałem też tylko sprawdzić pod kątem ^
, aby uzyskać co najmniej wynik: D123456_02
, ale nadal taki sam wynik.
Próbowałem nawet name.Replace("^"
, a następnie użyłem metody podciągu, której użyłem wcześniej. Ale znowu wynik pozostaje taki sam.
texthere
nie zawsze ma taką samą długość, więc .Remove()
jest wykluczone.
Co robię źle?
Dzięki
Można podzielić na^charakter i tylko zajmują drugą część. Ale myślę, że lepszym rozwiązaniem byłoby użycie Wyrażeń regularnych. – Matthijs