Der beste Ansatz hängt ein wenig davon ab, wie flexibel das Parsen sein soll, im Hinblick auf mögliche zusätzliche Leerzeichen und ähnliches. Überprüfen Sie die genauen Formatspezifikationen, um zu sehen, was Sie brauchen.
yourString.Split(new char[] { ':' }, 2)
Begrenzt Sie zwei 2 Teilstrings. Dies trimmt jedoch nicht den Platz am Anfang der zweiten Zeichenfolge. Sie könnten dies jedoch in einer zweiten Operation nach dem Split tun.
Sollte funktionieren, aber wird brechen, wenn Sie versuchen, einen Header-Namen zu trennen, der ein Leerzeichen enthält.
yourString.Split(new string[] { ": " }, 2,
StringSplitOptions.None);
Wird genau das tun, was Sie beschreiben, aber tatsächlich erfordert der Platz vorhanden sein.
yourString.Split(new string[] { ": ", ":" }, 2,
StringSplitOptions.None);
Macht den Raum optional, aber Sie würden immer noch zu TrimStart()
im Falle von mehr als einem Raum haben.
Um das Format zu halten etwas flexibel, und Ihr Code lesbar ist, schlage ich vor, die erste Option:
string[] split = yourString.Split(new char[] { ':' }, 2);
// Optionally check split.Length here
split[1] = split[1].TrimStart();
geteilt mit Leerzeichen? und setze ein arry = yourString.Split (''); –
@RamgyBorja das wird nicht funktionieren, wenn er auch die ':' aus 'Zeit' und sowieso nicht, was gefragt wurde – smurtagh
@smurtagh ja, für die sichere Codierung verwendet Trimmen –