поиск слова в строке
От: Damx  
Дата: 04.05.03 15:04
Оценка:
Здравствуйте! Есть строка E3 и строка E1. Строка E3 состоит из нескольких групп сиволов (в т. ч. пробелов), разделенных символом '; ' (точка с запятой и пробел); а E1 из группы символов (в т. ч. пробелов). Требуется узнать, является ли E1 одной из групп символов (точки с запятой и пробелы после них в группы символов не входят) строки E3. Пишу следующее:

function qwerty: boolean;
var q, w :word;
    m: set of char;
    s0: string;
begin
m:= [';'];
s0:= '; ' + e1;
w:=length(s0);
  q:= pos (s0, e3);
  if (q<>0) and (e3[q+w] in m) then
  begin
    result:=true;
  end
  else
    result:= false;
end;

Но: если строка E3 имеет вид, например, 'russia1; russia', то при E1 = 'russia', result=false, а при E3 = 'russia1; russia', то true (то есть если одна из групп символов (1) полностью входит в другую группу сиволов (2), и (2) идет перед (1), то (1) не "ловится"). Как это исправиль. Спасибо заранее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.