Выцепить данные из строки

Тема в разделе "Lotus - Программирование", создана пользователем Dragon108, 15 окт 2010.

  1. Dragon108

    Dragon108 Well-Known Member

    Регистрация:
    19 янв 2010
    Сообщения:
    264
    Симпатии:
    0
    Есть поле в документе, в нем хранятся данные в виде:

    ... | UNID | строка 1 | строка 2 | ...

    и так далее, таким образом получается большая строка, в которой данные разделены разделителями (|).
    Далее, грубо говоря, передается Unid и по нему необходимо найти в этой строке цепочку данных, относящуюся именно к этому UNIDу, т.е. обрезать все лишнее. (необходимый кускок с данными, находится правее UNIDа, до следущего UNIDа)
    Как можно вырезать данную строку из всей этой строки с данными?
    Спасибо
     
  2. Jansar

    Jansar Гость

    Получить Split-ом массив, далее перебрать его в цикле.
    а если нужно получить определенный UNID то можно с помошью ArrayGetIndex получить его индекс в массиве. и т.д
     
  3. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Код (LotusScript):
    tmp = StrRight (stroka, unid + "|")
    tmp2 = Split(tmp, "|")
    for i = 0 to skoka_parametrov
    print tmp2(i)
    next
     
  4. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    Почитайте в хелпе про всякие Left, Right, StrLeftBack, StrRight functions и выбирайте, что Вам наиболее подходит.
     
  5. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    Dragon108
    трансформ+дблукап
     
  6. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    А как вы собрались отличать UNID от неUNID'а, если количество символов будет совпадать?
    Поменяйте лучше формат хранения.
     
  7. Dragon108

    Dragon108 Well-Known Member

    Регистрация:
    19 янв 2010
    Сообщения:
    264
    Симпатии:
    0

    В смысле "отличать UNID от неUNID'а"? Передается UNID и по нему ищется аналогичный в этой строке.
     
  8. Darker

    Darker Гость

    Искать до какого условия? Как ты узнаешь, что все, вот до сюда мне надо?
    Храни хотя бы так

    ...%%UNID1 | строка1 | строка2 | строка3 %%UNID2 | строка1 | строка2
     
  9. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Если количество параметров для каждого UNID'а одинаковое, то не критично, а если разное, то для разделения блоков информации, относящихся к одному UNID'у разумеется, следует использовать другой разделитель.
     
  10. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    Всё равно это какой-то отстой...
    Разве нельзя разнести данные по разным айтемам с MultyValue, потом искать по айтему с UNID'ами (arrayGetIndex) и спокойно брать все нужные значения по индексу?
     
Загрузка...
Похожие Темы - Выцепить данные из
  1. maliy
    Ответов:
    17
    Просмотров:
    130
  2. Anatoly
    Ответов:
    24
    Просмотров:
    349
  3. Shouldercannon
    Ответов:
    0
    Просмотров:
    482
  4. Ivanov Pavel V
    Ответов:
    14
    Просмотров:
    1.061
  5. JohnLemon
    Ответов:
    40
    Просмотров:
    2.419

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