La meilleure approche dépend un peu de la flexibilité que vous souhaitez pour l'analyse, en ce qui concerne les espaces supplémentaires possibles et autres. Vérifiez les spécifications de format exactes pour voir ce dont vous avez besoin.
yourString.Split(new char[] { ':' }, 2)
Vous limiterez deux sous-chaînes. Cependant, cela ne réduit pas l'espace au début de la deuxième chaîne. Vous pourriez le faire dans une seconde opération après la séparation cependant.
yourString.Split(new char[] { ':', ' ' }, 2,
StringSplitOptions.RemoveEmptyEntries)
Fonctionne, mais va se casser si vous essayez de diviser un nom d'en-tête qui contient un espace.
yourString.Split(new string[] { ": " }, 2,
StringSplitOptions.None);
Fera exactement ce que vous décrivez, mais nécessite réellement l'espace pour être présent.
yourString.Split(new string[] { ": ", ":" }, 2,
StringSplitOptions.None);
rend l'espace en option, mais vous auriez encore à TrimStart()
en cas de plus d'un espace.
Pour conserver le format un peu flexible, et votre code lisible, je suggère d'utiliser la première option:
string[] split = yourString.Split(new char[] { ':' }, 2);
// Optionally check split.Length here
split[1] = split[1].TrimStart();
divisé en utilisant des espaces? et définissez arry = yourString.Split (''); –
@RamgyBorja qui ne fonctionnera pas à moins qu'il ne supprime également le ':' de 'Time' et de toute façon, pas ce qui a été demandé – smurtagh
@smurtagh oui, pour le codage de sécurité utilisé trim –