Ho una stringa simile a questa: "texthere^D123456_02"
. Ma voglio che il mio risultato sia D123456
.Sottostringa IndexOf in C#
questo è quello che faccio finora:
if (name.Contains("_"))
{
name = name.Substring(0, name.LastIndexOf('_'));
}
Con questo posso rimuovere almeno il _02
, se provo allo stesso modo per ^
poi ho sempre tornare texthere
, anche quando uso name.IndexOf("^")
Ho anche provato solo a verificare ^
, per ottenere almeno il risultato: D123456_02
ma sempre lo stesso risultato.
Ho anche provato a name.Replace("^"
e quindi utilizzare il modo sottostringa che ho usato prima. Ma di nuovo il risultato rimane lo stesso.
texthere
non è sempre la stessa lunghezza, quindi .Remove()
è fuori questione.
Cosa sto sbagliando?
Grazie
Si potrebbe dividere il carattere^e prendere solo la seconda parte. Ma penso che un'opzione migliore sarebbe usare le espressioni regolari. – Matthijs