Page 1 of 1
Вопрос: Поиск в строке...
Posted: 2006-04-30 20:50:30
by DerMeister =)
Вот задача: Имеется две строки, надо определить является ли строка 1 частью строки 2...
Помогите пожалуйста...
Желательно получить процедуру, которая возвращает либо true, либо false:
Поиск лучше вести с конца строки...
Posted: 2006-04-30 22:09:16
by admir
Code: Select all
#string1 - main ,string2 -compare with string1
sub FindInString(string1,string2)
if len(string1)<len(string2) then
return 0
end if
for var i=0 to (len(string1)-len(string2))
if mid(string1,i,len(string2)) == string2 then
return 1
end if
next
return 0
end sub
Posted: 2006-04-30 22:19:27
by DerMeister =)
admir wrote:Code: Select all
#string1 - main ,string2 -compare with string1
sub FindInString(string1,string2)
if len(string1)<len(string2) then
return 0
end if
var i,l
for i=0 to (len(string1)-len(string2))
if mid(string1,i,len(string2)) == string2 then
return 1
end if
next
return 0
end sub

Круто! Спасибо! Только помоему эта процедура ищет слева направо...
С права на лево,наверное, будет так:
Code: Select all
#string1 - main ,string2 -compare with string1
sub FindInString(string1,string2)
if len(string1)<len(string2) then
return 0
end if
var i,l
for i=(len(string1)-len(string2)) to 0 step -1
if mid(string1,i,len(string2)) == string2 then
return 1
end if
next
return 0
end sub
Posted: 2006-04-30 23:19:40
by Edred
admir wrote:Code: Select all
#string1 - main ,string2 -compare with string1
sub FindInString(string1,string2)
if len(string1)<len(string2) then
return 0
end if
for var i=0 to (len(string1)-len(string2))
if mid(string1,i,len(string2)) == string2 then
return 1
end if
next
return 0
end sub
Доработай эту функцию чтобы она возвращала позицию начала подстроки в строке, 0 - если не найдено. И будет хорошая стандартная функция.