![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Регистрация: 14.12.2011
Сообщений: 7
|
![]()
Нужен рабочий алгоритм для оболочки PascalABC.Net нахождения подстроки в строке.
Функцию pos(sub,s:string):integer; можете не предлагать (в абц она есть и она работает, но не правильно, в общем из-за этой функции два вечера убил) ![]() Нужен аналог функции pos (лучше всего его копию). Спасибо PS. Если вы можете подсказать метод, который удалит из строки все повторения подстроки, то буду совсем счастлив ![]() Последний раз редактировалось Mister.V; 14.12.2011 в 23:15. |
![]() |
![]() |
![]() |
#2 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,837
|
![]()
В чем неправильность работы Pos?
E-Mail: arigato.freelance@gmail.com
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 14.12.2011
Сообщений: 7
|
![]()
В ходе выполнения цикла начиная где-то с 6 итерации функция l:=length(st) (st-подстрока) начинает принимать страшные величины (от 500000 до 8000000 и более), а сам st отказывается выводится на экран (writeln(st)). При том, что если удалить цикл с функцией pos (второй цикл, внутри основного), то всё отображается корректно.
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
может дело не в функции pos, а в вашем цикле?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 |
Регистрация: 14.12.2011
Сообщений: 7
|
![]() Код:
Код:
Последний раз редактировалось Mister.V; 14.12.2011 в 23:44. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 26.07.2009
Сообщений: 489
|
![]()
Врядли дело в функции Pos, все методы сред разработок обычно хорошо написаны и отлажены.
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
|
![]() |
![]() |
![]() |
#7 |
Регистрация: 14.12.2011
Сообщений: 7
|
![]() Код:
|
![]() |
![]() |
![]() |
#8 |
Просто хороший
Форумчанин
Регистрация: 26.03.2010
Сообщений: 562
|
![]()
есть вот такая штука:
заменяет в строке подстроку на ... StrPage-строка где # можно оставить пусто и он будет заменять тебе слово подстрока на пустоту Код:
Помог, нажми весы слева
![]() |
![]() |
![]() |
![]() |
#9 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
![]()
Попробуйте StringReplace или ей подобные.
"ковыряю изнутри" (с)
|
![]() |
![]() |
![]() |
#10 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
Хочешь юзай 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 |