2010-09-07 7 views
0

Note:Comment diviser la chaîne en C#?

string s="Error=0<BR>Message_Id=120830406<BR>" 

Quelle est la façon la plus élégante de diviser une chaîne en C#?

+0

Comment voulez-vous que vos résultats soient groupés? –

+0

Comme d'autres l'ont suggéré, http://msdn.microsoft.com/en-us/library/system.string.split.aspx –

Répondre

4

Supposons que vous voulez partager sur les éléments <BR>:

string[] lines = s.Split(new[] { "<BR>" }, StringSplitOptions.None); 

Notez que ce dépouilleront les <BR> éléments eux-mêmes. Si vous souhaitez les inclure, vous pouvez utiliser la classe Regex ou écrire votre propre méthode pour le faire (probablement en utilisant string.Substring).

Mon conseil en général est de se méfier de l'utilisation d'expressions régulières, car elles peuvent finir par être plutôt incompréhensibles. Cela dit, voici comment vous pouvez les utiliser dans ce cas:

string[] lines = Regex.Matches(s, ".*?<BR>") 
    .Cast<Match>() 
    .Select(m => m.Value) 
    .ToArray(); 
0

Utiliser la chaîne Slit et est le code ici:

string s = "Error=0<BR>Message_Id=120830406<BR>"; 
string[] stringSeparators = new string[] { "<BR>" }; 
string[] result = s.Split(stringSeparators, StringSplitOptions.None); 

Edit: Linq mis à jour. Bon exemple: http://msdn.microsoft.com/en-us/library/tabh47cf.aspx

Questions connexes