德尔福:最简单的方法来搜索字符串的MemoryStream(Delphi: Easiest way

2019-08-21 21:33发布

什么是搜索内存流(和多个字符串)中的字符串,返回true或false最简单的方法?

Answer 1:

var ms:TMemoryStream;
    strS:TStringStream;
    aStr:string;
    aPos:integer;
    found:boolean;
begin
    ms:=TMemoryStream.Create;
    ms.LoadFromFile('c:\aFile.txt');
    strS:=TStringStream.Create;
    strS.LoadFromStream(ms);
    aPos:=pos(aStr,strS.dataString);
    found:=aPos>0;
end;

TStringStream是一个经常忘词,但非常有用的工具 - 比PChars中,等来得容易,更安全

对于多次搜索,无论是使用ackwardly环POS,子串等或使用正则表达式。

此代码工作正常在Delphi XE,虽然TStringStream已经很老了 - 不知道这是否是兼容Unicode编码。

(这个例子是漏 - 我离开了为了简洁起见,在最终化代码)



文章来源: Delphi: Easiest way to search for string in memorystream