|
Вопрос по применению подстановочных символов в строке
|
|||
---|---|---|---|
#18+
Уважаемые коллеги, нужен Ваш проф. совет! Возникла необходимость применить подстановочные символы в строке поиска команды AT(строка_что_ищем, строка_где_ищем). Файл text.txt ("строка_где_ищем") с такой структурой: ------- |1 | ---+--+ |2 | ---+--+ | | |3 | |10| |99| ---+--+ Мне нужно выделить из этой строки последовательность "|??|", где ?? это число от 1 до 99 (как в примере), если числом является одноразрядное число 1,2....9, то последний символ "chr(20)". Надеюсь смог донести суть вопроса. Заранее благодарен. ---telum--- ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 20:48 |
|
Вопрос по применению подстановочных символов в строке
|
|||
---|---|---|---|
#18+
TelumУважаемые коллеги, нужен Ваш проф. совет! Возникла необходимость применить подстановочные символы в строке поиска команды AT(строка_что_ищем, строка_где_ищем). Файл text.txt ("строка_где_ищем") с такой структурой: ------- |1 | ---+--+ |2 | ---+--+ | | |3 | |10| |99| ---+--+ Мне нужно выделить из этой строки последовательность "|??|", где ?? это число от 1 до 99 (как в примере), если числом является одноразрядное число 1,2....9, то последний символ "chr(20)". Надеюсь смог донести суть вопроса. Заранее благодарен. ---telum---И почему ВЫ решили, что у Вас "Возникла необходимость применить подстановочные символы в строке поиска команды AT(строка_что_ищем, строка_где_ищем)"? С чего Вы взяли, что для вырезания куска строки, ограниченного определенными ограничителями нужно имено такое решение? Каким боком тут AT()? Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2010, 00:24 |
|
Вопрос по применению подстановочных символов в строке
|
|||
---|---|---|---|
#18+
проходящий.TelumУважаемые коллеги, нужен Ваш проф. совет! Возникла необходимость применить подстановочные символы в строке поиска команды AT(строка_что_ищем, строка_где_ищем). Файл text.txt ("строка_где_ищем") с такой структурой: ------- |1 | ---+--+ |2 | ---+--+ | | |3 | |10| |99| ---+--+ Мне нужно выделить из этой строки последовательность "|??|", где ?? это число от 1 до 99 (как в примере), если числом является одноразрядное число 1,2....9, то последний символ "chr(20)". Надеюсь смог донести суть вопроса. Заранее благодарен. ---telum---И почему ВЫ решили, что у Вас "Возникла необходимость применить подстановочные символы в строке поиска команды AT(строка_что_ищем, строка_где_ищем)"? С чего Вы взяли, что для вырезания куска строки, ограниченного определенными ограничителями нужно имено такое решение? Каким боком тут AT()? Код: plaintext 1.
Уважаемый, текст намного больше! Это я Вам выслал лишь кусок примера, в Вашем коде ?strextract(' |2 |', '|', '|'), извлечется не только "2 " но и любые симмволы между двумя "|". Мне нужно извлечь именно пару символов по маске "|??|" - именно такая последовательность не повторяется в текстовой таблице. Сам вспомнил: LIKE(cExpression1, cExpression2) :) Спасибо пост можно закрыть. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2010, 09:19 |
|
Вопрос по применению подстановочных символов в строке
|
|||
---|---|---|---|
#18+
А вот такой вопрос, есть ли функция подобная LIKE(), только где можно задать что то вроде nOccurence ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2010, 11:45 |
|
Вопрос по применению подстановочных символов в строке
|
|||
---|---|---|---|
#18+
TelumА вот такой вопрос, есть ли функция подобная LIKE(), только где можно задать что то вроде nOccurence ?Сударь, а Вы непробовали таки прочитать хелп по предложенным функциям? Говорят, очень полезное занятие. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2010, 12:11 |
|
Вопрос по применению подстановочных символов в строке
|
|||
---|---|---|---|
#18+
Чтобы направить мысли в других направлениях, посмотрите описание команд AFILEDS() APPEND FROM text.txt TYPE DELIMITED WITH CHARACTER "|" FOPEN() + FGETS() PS: Не надо считать эти 3 строчки - программным кодом . Это названия команд, справку по которым надо посмотреть в HELP ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2010, 14:03 |
|
Вопрос по применению подстановочных символов в строке
|
|||
---|---|---|---|
#18+
проходящий.TelumА вот такой вопрос, есть ли функция подобная LIKE(), только где можно задать что то вроде nOccurence ?Сударь, а Вы непробовали таки прочитать хелп по предложенным функциям? Говорят, очень полезное занятие. А какие функции нужные мне Вы предложили? Ничего интересного и нового я не увидел :). ВладимирМ Чтобы направить мысли в других направлениях, посмотрите описание команд AFILEDS() APPEND FROM text.txt TYPE DELIMITED WITH CHARACTER "|" FOPEN() + FGETS() PS: Не надо считать эти 3 строчки - программным кодом . Это названия команд, справку по которым надо посмотреть в HELP Спасибо за команды, но только AFIELDS() мне вообще в данном случаи не нужен, так как размер txt 150 Мб, содержит по разному форматированный дос текст, с разными по ширине таблицами, вот с этими - "|" закорючками. Бывает даже 4-5 таблицы в ширину страницы. APPEND FROM text.txt TYPE DELIMITED WITH CHARACTER "|". Сразу в сад - она мне такую х*ню вставит, что я потом в жизнь не разберусь. Низкоуровневым командам FOPEN() + FGETS() имхо предпочитаю strtofile(), filetostr() (в моем случае, эти функции предпочтительнее). LIKE() тоже не вариант, долго будет выборка идти, придется циклом пробежаться сначала определить все "|" потом выделить именно те "|" позиции, между которыми два символа и эти символы после преобразования типов будут цифрами. Сложно объяснить или у меня нет навыка четко описывать свою задачу. P.S. Таблицу всю выложить не могу ведомство :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2010, 19:59 |
|
Вопрос по применению подстановочных символов в строке
|
|||
---|---|---|---|
#18+
TelumА какие функции нужные мне Вы предложили? Ничего интересного и нового я не увидел :). Ничего нового? А что же тогда про " только где можно задать что то вроде nOccurence?" спрашиваем? Так Вы хелп по strextract() читали или как?P.S. Таблицу всю выложить не могу ведомство :)Я ее кто-то просил ВСЮ выложить? Трудно взять пару-тройку записей, заменить "секретную" информацию на любой набор букв и выложить? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2010, 21:55 |
|
Вопрос по применению подстановочных символов в строке
|
|||
---|---|---|---|
#18+
TelumAPPEND FROM text.txt TYPE DELIMITED WITH CHARACTER "|". Сразу в сад - она мне такую х*ню вставит, что я потом в жизнь не разберусь. "Шашкой махать" сразу не надо. APPEND FROM имеет то преимущество, что позволяет закачать "построчно" файл в DBF-таблицу. Т.е. вместо строкового анализа текстового файла переходим к анализу строк таблицы. И потом, Вам же нужны не все строки файла, а только имеющие определенное содержание. Т.е. те записи, которые содержат ерунду, скорее всего, Вам и так не понадобились бы. В них нет нужной информации. Вот и пропускайте "лишние" записи. Если использование разделителя - невозможно, то можно закачать файл "как есть" используя Код: plaintext
TYPE SDF - предполагает, что каждое поле имеет строго фиксированный размер и не имеет вообще никаких разделителей. Ни между полями, ни как ограничители символьных полей. Посмотрите, что получится в курсоре при таком коде Код: plaintext 1. 2. 3. 4.
Если "ширины" недостаточно, то количество полей в курсоре можно увеличить. TelumНизкоуровневым командам FOPEN() + FGETS() имхо предпочитаю strtofile(), filetostr() (в моем случае, эти функции предпочтительнее). При размере в 150МБ только APPEND FROM или низкоуровневые команды. FileToStr() корректно работают только с файлами до 16МБ. Все что больше - без гарантий. Но даже с 16МБ "высокоуровневые" команды будут работать ОЧЕНЬ медленно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2010, 11:50 |
|
|
start [/forum/topic.php?fid=41&msg=37013035&tid=1584708]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 268ms |
total: | 386ms |
0 / 0 |