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

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

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

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

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

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

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


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

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

8   голосов , оценка 4.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы