• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы Dragon108
  • Дата начала
D

Dragon108

Есть поле в документе, в нем хранятся данные в виде:

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

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

Jansar

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

nvyush

Код:
tmp = StrRight (stroka, unid + "|")
tmp2 = Split(tmp, "|")
for i = 0 to skoka_parametrov
print tmp2(i)
next
 
A

alik86

Почитайте в хелпе про всякие Left, Right, StrLeftBack, StrRight functions и выбирайте, что Вам наиболее подходит.
 

VladSh

начинающий
Lotus Team
11.12.2009
1 786
157
BIT
78
А как вы собрались отличать UNID от неUNID'а, если количество символов будет совпадать?
Поменяйте лучше формат хранения.
 
D

Dragon108

А как вы собрались отличать UNID от неUNID'а, если количество символов будет совпадать?
Поменяйте лучше формат хранения.


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

Darker

В смысле "отличать UNID от неUNID'а"? Передается UNID и по нему ищется аналогичный в этой строке.
Искать до какого условия? Как ты узнаешь, что все, вот до сюда мне надо?
Храни хотя бы так

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

nvyush

Искать до какого условия? Как ты узнаешь, что все, вот до сюда мне надо?
Если количество параметров для каждого UNID'а одинаковое, то не критично, а если разное, то для разделения блоков информации, относящихся к одному UNID'у разумеется, следует использовать другой разделитель.
 

VladSh

начинающий
Lotus Team
11.12.2009
1 786
157
BIT
78
Всё равно это какой-то отстой...
Разве нельзя разнести данные по разным айтемам с MultyValue, потом искать по айтему с UNID'ами (arrayGetIndex) и спокойно брать все нужные значения по индексу?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!