.NET 4.x Расставить скобки в строке - C#

Узнай цену своей работы

Формулировка задачи:

Добрый вечер, граждане! Такая проблемка, не могу сообразить как сделать.... Есть начальная строка
string test = @"name = 'Denis' and sex = 'man' or group = 'children and age = '12' or school_class = '7'
Собственно, что нужно:
 test = @"(name = 'Denis' and sex = 'man') or (group = 'children and age = '12') or school_class = '7'
Там где есть оператор "or" нужно справа и слева взять подстроки и обнести их начало и конец скобками. Если после "or" допустим в левой части нет "and" выражений то дальше скобки не ставить Вообще пока не могу понять, как сделать... Заранее благодарю за помощь...

Решение задачи: «.NET 4.x Расставить скобки в строке»

textual
Листинг программы
var orArgs = test.Split(new[] { "or", "OR", "Or", "oR" }, StringSplitOptions.RemoveEmptyEntries);
            var processed = string.Join(" or ", orArgs.Select(c =>
            {
                var trim = c.Trim();
                if (!trim.ToLower().Contains("and"))
                    return trim;
                return !trim.StartsWith("(") && !trim.EndsWith(")") ? $"({trim})" : trim;
            }));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.5 из 5
Похожие ответы