1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

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

Тема в разделе "1C и всё что с ней связано", создана пользователем tanat, 4 июн 2009.

  1. tanat

    tanat Well-Known Member

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

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

    puh14 Well-Known Member

    Репутация:
    0
    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Надеюсь в наименовании у тебя кавычки не используются. Откуда такая прелестная строчка вылезла?
    А по другому - только если известно откуда у тебя такое пошло ( то бишь вытаскивать не из строки, а на стадии формирования).
     
  3. unknown181538

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
    А если перебрать посимвольно?
    Стоит ли вопрос производительности?
     
  4. tanat

    tanat Well-Known Member

    Репутация:
    0
    Регистрация:
    2 мар 2007
    Сообщения:
    265
    Симпатии:
    0
    нет, не используются.
    Такую прелестную строку формирует сам пользователь), единственное, что идет "от меня" - это заключение Наименования в скобки. Дело в том, что по данной строке должны производиться, в данном случае, арифметические вычисления, но это уже другой вопрос).

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

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

Поделиться этой страницей