Хотел бы представить общественности одну полезную функцию, которая упрощает процесс обработки информации. Сама функция и её описание находятся дальше.


Исходный код (Delphi):
Только кодкопировать в буфер обменапечать
function Pars(T_ : string; var ForS: string; _T: string): string;
var
a, b: Integer;
begin
if (T_ ») and (ForS ») and (_T ») then
begin
a := Pos(T_, ForS);
Result := Copy(ForS, a + Length(T_), Length(ForS));
b := Pos(_T, Result);
Result := Copy(Result, 1, b — 1);
if (a>0) and (b>0) then
Delete(ForS,a,b+length(_T)+length(T_)-1)
else
result:=»;
end
else
Result := »;
end;


Блок-схема:

altБлок-схема функции Pars

Суть довольно простая, выделить из исходной строки кусок текста, который находится между двумя другими строками.

Например у нас есть текст:

Только кодкопировать в буфер обменапечать
str:=’Hello world! F2 Soft cool!’
Вызовем нашу функцию следующим образом: Pars(‘Hello’, str, ‘!’);

Результат работы будет строка ‘ world’, а из исходной строки данный кусок будет удалён, т.е. str станет равной ‘Hello ! F2 Soft cool!’.

Данную функцию я часто использую при парсинге HTML-страниц, чтобы выделить какие-то нужные мне элементы. Конечно, данная функция не является идеальной, но на основе её можно легко написать свою процедуру обработки и понять сам принцип процесса парсинга.

News Reporter