2015-07-23 6 views
0

Я знаю, что можно разбить строку на символ, как:Расщепление на несколько символов сразу

строка [] s = someString.Split («»);

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

т.е:

a, b, c, d, e, f, g 

или:

a 
b 
c 
d 
e 

или:

a, b, c, 
d, e 
f 

Как я могу разделить на несколько символов сразу?

+0

Вы можете использовать Regex.split с этим выражением '[^ a-zA-Z] +', добавить другие символы, которые вы ожидаете в своих строках, например. _ или 0-9, если это так. – maraca

+0

Если вы не знаете, чего ожидать, просто нет запятой, новой строки, нет места, тогда вы можете пойти прямо с '[, \\ n] +'. – maraca

ответ

3

Строка метода Split() имеет переопределение, которое принимает массив символов для разделения.

string[] s = someString.Split(new [] { ',', '\n' }); 

Также необязательным параметром является значение StringSplitOptions. Это позволяет указать, хотите ли вы удалить пустые/пустые записи.

+0

Может очень понравиться 'string [] s = someString.Split (", \ n ".Split (''));' :-) – whoisj

+1

Whoisj: За исключением того, что вы не можете разбить на пробел. :-) –

+0

@MichaelG вы, безусловно, можете! –

1
str.Split(",\n\r".ToCharArray()); 

Вставьте любой символ, который вы хотите в строку.

+0

Он создавал бы пустую строку «между» '\ n' и' \ r', если '' \ r \ n' 'используется как разделитель (например, типичная 'Environment.NewLine'). Рассмотрим 'StringSplitOptions.RemoveEmptyEntries'. – AlexD

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