|
|
|
Поиск в строке
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Вопросик такой. Есть длинная строка (ок. 50 000 000 символов). Есть несколько коротких подстрок (по 5-6 символов). Подстроки уникальные. Задача - найти все эти подстроки в строке, отсчитать от места вхождения по заданному количеству символов назад и запомнить полученную подстроку и вперед (тоже запомнить строку). Пытаюсь at(), но такие тормоза... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 10:16 |
|
||
|
Поиск в строке
|
|||
|---|---|---|---|
|
#18+
для одной подстроки поиска вота посмари. Ну и вперед и с песней на доработку Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 14:14 |
|
||
|
Поиск в строке
|
|||
|---|---|---|---|
|
#18+
Добавчик астерикс перед CHR(13) введен для того, если в исходной строке символов уже есть где-нить CHR(13). Тогда при сканировании курсора нужно смареть на концевой символ, и если он *, то с нее и делать обрезания ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 14:19 |
|
||
|
Поиск в строке
|
|||
|---|---|---|---|
|
#18+
Спасибо, будем пробовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 14:51 |
|
||
|
Поиск в строке
|
|||
|---|---|---|---|
|
#18+
При размере 50Мб я бы не советовал в лоб задачу решать. Эти 50Мб изначально файл? Если не файл - то сохрани. Дальше читай небольшими блоками, немного конца предыдущего к текущему в начало добавляй для непрерывности поиска и смещение считай. Примерно так (5-6 сек. на 122 Мб): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 15:04 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=160&tid=1587775]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 328ms |

| 0 / 0 |
