|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.12.2011, 23:10 | #1 |
Регистрация: 14.12.2011
Сообщений: 7
|
Поиск подстроки в строке
Нужен рабочий алгоритм для оболочки PascalABC.Net нахождения подстроки в строке.
Функцию pos(sub,s:string):integer; можете не предлагать (в абц она есть и она работает, но не правильно, в общем из-за этой функции два вечера убил) Нужен аналог функции pos (лучше всего его копию). Спасибо PS. Если вы можете подсказать метод, который удалит из строки все повторения подстроки, то буду совсем счастлив )) Последний раз редактировалось Mister.V; 14.12.2011 в 23:15. |
14.12.2011, 23:12 | #2 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,648
|
В чем неправильность работы Pos?
E-Mail: arigato.freelance@gmail.com
|
14.12.2011, 23:21 | #3 |
Регистрация: 14.12.2011
Сообщений: 7
|
В ходе выполнения цикла начиная где-то с 6 итерации функция l:=length(st) (st-подстрока) начинает принимать страшные величины (от 500000 до 8000000 и более), а сам st отказывается выводится на экран (writeln(st)). При том, что если удалить цикл с функцией pos (второй цикл, внутри основного), то всё отображается корректно.
|
14.12.2011, 23:23 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
может дело не в функции pos, а в вашем цикле?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
14.12.2011, 23:26 | #5 |
Регистрация: 14.12.2011
Сообщений: 7
|
Код:
Код:
Последний раз редактировалось Mister.V; 14.12.2011 в 23:44. |
14.12.2011, 23:36 | #6 |
Форумчанин
Регистрация: 26.07.2009
Сообщений: 489
|
Врядли дело в функции Pos, все методы сред разработок обычно хорошо написаны и отлажены.
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
|
14.12.2011, 23:45 | #7 |
Регистрация: 14.12.2011
Сообщений: 7
|
Код:
|
15.12.2011, 07:18 | #8 |
Просто хороший
Форумчанин
Регистрация: 26.03.2010
Сообщений: 562
|
есть вот такая штука:
заменяет в строке подстроку на ... StrPage-строка где # можно оставить пусто и он будет заменять тебе слово подстрока на пустоту Код:
Помог, нажми весы слева
|
15.12.2011, 09:54 | #9 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
Попробуйте StringReplace или ей подобные.
"ковыряю изнутри" (с)
|
15.12.2011, 11:07 | #10 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,886
|
Хочешь юзай AnsiStringreplace или ReplaceString, много их. Или вот тебе, сам побырику накатал, аналог твоей, и работает )
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск подстроки в строке ...на Турбо СИ | ianush | Помощь студентам | 3 | 13.11.2011 19:05 |
Поиск подстроки в строке | videolord | Общие вопросы по Java, Java SE, Kotlin | 2 | 10.04.2011 09:11 |
Поиск подстроки в строке | valdemar593 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 03.06.2010 21:42 |
поиск подстроки в строке!!! | StoneSour | Общие вопросы C/C++ | 2 | 15.03.2010 21:31 |