Ich versuche derzeit, eine Zeichenfolge mit Daten zu entfernen, die das Bindestrichsymbol enthalten kann.So entfernen Sie eine Zeichenfolge von dem Punkt, an dem ein Bindestrich in der Zeichenfolge gefunden wird C#
string Details = "hsh4a - 8989";
var regexItem = new Regex("^[^-]*-?[^-]*$");
string stringin;
stringin = Details.ToString();
if (regexItem.IsMatch(stringin)) {
stringin = stringin.Substring(0, stringin.IndexOf("-") - 1); //Strip from the ending chars and - once - is hit.
}
Details = stringin;
Console.WriteLine(Details);
Aber zieht in einen Fehler, wenn die Zeichenfolge jede der Bindestrich nicht enthält:
E.g. Basic logic:
string stringin = "test - 9894"; OR Data could be == "test";
if (string contains a hyphen "-"){
Strip stringin;
output would be "test" deleting from the hyphen.
}
Console.WriteLine(stringin);
Die aktuelle C# -Code ich zur Arbeit zu kommen bin versucht, wird unten gezeigt.
Sie brauchen keine Zeichenfolge tun müssen details.tostring .. seine bereits. Wenn Sie tun werden "stringin = stringin.Substring (0, stringin.IndexOf (" - ") - 1);" warum stören Sie sich mit Regex, überprüfen Sie einfach "-" existiert. – BugFinder
Ich benutze zur Zeit toString(), weil dies ein Code-Beispiel ist, in meinem vollständigen Code zieht es Daten aus einer XML API mit Objekten/verschiedenen Datensätzen in einer Schleife. – Mattlinux1