2010-09-07 3 views
0

Примечание:Как разбить строку на C#?

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

Какой самый элегантный способ разбить строку в C#?

+0

Как вы хотите, чтобы ваши результаты были сгруппированы? –

+0

Как и другие, http://msdn.microsoft.com/en-us/library/system.string.split.aspx –

ответ

4

Предположим, вы хотите разделить на <BR> элементы:

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

Обратите внимание, что это будет раздеть в <BR> сами элементы. Если вы хотите включить их, вы можете либо использовать класс Regex, либо написать свой собственный метод, чтобы сделать это (скорее всего, используя string.Substring).

Мой совет в целом заключается в том, чтобы с осторожностью использовать регулярные выражения, поскольку они могут оказаться довольно непонятными. Тем не менее, вот как вы можете использовать их в этом случае:

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

Используйте щелевая строку и вот код:

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

Edit: Linq обновляется. Хороший пример: http://msdn.microsoft.com/en-us/library/tabh47cf.aspx