2013-07-07 3 views
1

Пожалуйста, помогите мне разбить строку с «,» имея «desc, a» как единый элемент в результате.Как изменить функцию разделения для разделения строки

string s="\"desc,a\",True,True,False,True,0,1,red,1,1," 

Thanks in Advance.

+0

'r = s.SubString (0,8)' или вы имели в виду что-то другое? –

+0

Нет, я хочу сохранить строку в массиве s.Split (','); метод, но он возвращает 12 элементов в массиве. Я хочу разбить его так, чтобы «desc, a» стал 1 элементом. – Mohit

ответ

2

Вы можете использовать регулярное выражение для соответствия элементов с и без кавычек:

string[] items = 
    Regex.Matches(s, @"""[^""]*""|[^,]+") 
    .Cast<Match>() 
    .Select(x => x.Value) 
    .ToArray(); 

Объяснение:

""[^""]*"" - matches an item with quotation marks 
      (quot, zero or more non-quot character, quot) 
|   - or operator 
[^,]+  - matches an item without quotation marks 
      (one or more characters other than comma) 
+0

Спасибо, Guffa, что он работает для меня. – Mohit

Смежные вопросы