Есть массив из элементов:
string[] OkElems = {"+","-","*","/","mod","div" };
И есть некая строка x. Как разделить строку x по любому из элементов OkElems?
Пробовал Split(OkElems), но так не работает:
var x = "5+6*2-1/4";
string[] okElems = { "+","-","*","/","mod","div" };
var splitedArr = x.Split(okElems);
Ошибка в том что Split не умеет работать с массивом строк. Массив символов, ок, а вот строк, не ахти.
Можно ли как то красиво это сделать, не прибегая к деревянному перебору?
Попробуйте Split(String[], StringSplitOptions) так должно сработать:
var x = "5+6*2-1/4";
string[] okElems = { "+","-","*","/","mod","div" };
var splitedArr = x.Split(okElems, StringSplitOptions.None);
foreach(var part in splitedArr)
{
Console.WriteLine(part); //5 6 2 1 4
}
Просто в перегрузке метода, принимающей массив строк, объявлен второй аргумент (StringSplitOptions). Если при разбиении нужно удалять пустые строки проставьте StringSplitOptions.RemoveEmptyEntries, если нет, то оставьте StringSplitOptions.None.
Продвижение своими сайтами как стратегия роста и независимости