(v8) работа со строковыми типами

tanat

Well-Known Member
02.03.2007
265
0
#1
Уважаемые форумчане, помогите советом. Задача:
Есть СтрокаЗаписи формата (123456*((Наименование1)/(60*((Наименование2)-(Наименование3))))). Надо выбрать отсюда Наименование1..НаименованиеN с условием, что это переменные с неизвестным количеством символов.
Сейчас я сделал так: Ищу первую закрывающую скобку - режу строку лев-ом, нахожу последнюю открывающую, режу строку, получаю Подстроку с "Наименование1".
Теперь Режу СтрокуЗаписи правом по позиции первой закрывающей скобки ну и впринципе снова проделываю вышеупомянутые действия через цикл с условием (если не нашли открывающую скобку - то все), конец)) ).

Както мне весь этот механизм не симпотичен.Он, конечно, рабочий, но хотелось бы еще его оптимизировать. Если есть соображения - высказывайте, будем вместе думать.
 

puh14

Well-Known Member
11.07.2008
1 412
0
НеРезиновая
#2
Надеюсь в наименовании у тебя кавычки не используются. Откуда такая прелестная строчка вылезла?
А по другому - только если известно откуда у тебя такое пошло ( то бишь вытаскивать не из строки, а на стадии формирования).
 

tanat

Well-Known Member
02.03.2007
265
0
#4
Надеюсь в наименовании у тебя кавычки не используются.
нет, не используются.
Откуда такая прелестная строчка вылезла?
Такую прелестную строку формирует сам пользователь), единственное, что идет "от меня" - это заключение Наименования в скобки. Дело в том, что по данной строке должны производиться, в данном случае, арифметические вычисления, но это уже другой вопрос).

unknown181538 - Какбы стоит. Эта волшебная строчка - конкретная ячейка таблиной части, пользователю надо, чтобы такая строка
"преобразовывалась" сразу для всего документа, а там может быть позиций под 300.

только если известно откуда у тебя такое пошло ( то бишь вытаскивать не из строки, а на стадии формирования).
Есть несколько принципов ввода этой замечательной строки, к сожалению, на стадии формирования в ряде из них просто не возможно вытащить какоето конкретно значение, так как их еще нет в системе.
Вот такой вот геморойчик).