Во входной строке я хочу использовать следующее Jagged Array, чтобы заменить первое значение столбца на второй столбец, добавленный \
. Например, a<=bTestc<e
становится a\lebTestc\lte
. Как я могу достичь этого программно? Я использую шаблон Regex, определенный ниже, путем конкатенации всех первых элементов столбца массива с зубчатым контуром, используя разделитель |
(Regex «OR») между каждым элементом. Я объединил элементы, взяв элементы в порядке наибольшей длины до самой короткой длины, так что, если более короткий элемент содержится в более крупном элементе, он не заменяется [Ref: Example. Я использую .NET 4.5.2Замените значение первого столбца на второе значение столбца, используя Regex в массиве с заусенцами
string[][] sSymb = { new string[] { "!=", "ne" }, new string[] { "lt=", "leq" }, new string[] { "<", "lt" }, new string[] { ">", "gt" }, new string[] { "<=", "le" }, new string[] { "gt=", "geq" }, new string[] { ">=", "ge" }, new string[] { "!in", "notin" }, new string[] { "sub", "subset" }, new string[] { "sup", "supset" } };
string sPattern = "gt=|!in|sub|sup|!=|<=|lt|>=|<|>";
Regex regex = new Regex(sPattern);
string st = regex.Replace("a<=bcd<e", "\\$&"); //this prepends the first column element of array with \ . I need to replace the first column element with \ + second column element
Console.WriteLine(st);
Привет! Я добавил пример того, как добиться того, что вы используете после использования массива с зубчатым контуром; но я думаю, что упорядоченный словарь является более элегантным решением. Надеюсь, это поможет! – gerrod