Есть массив из элементов:
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.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости