gpt4 book ai didi

delphi - 在文本文件中搜索带有特定字符串的行

转载 作者:行者123 更新时间:2023-12-03 18:58:56 24 4
gpt4 key购买 nike

是否可以逐行搜索TextFile以找到特定的字符串。
即。你好
它逐行搜索以查找是否其中有Hello。每行只有一个字符串。
这可能吗?
如果是这样,我该如何尝试?

最佳答案

当然,将整个文件加载到内存中最简单。如果您的文件足够小,则可以这样操作:

found := false;
sl := TStringList.Create;
try
sl.LoadFromFile(fileName);
for line in sl do
if Pos('Hello', line)<>0 then
begin
found := true;
break;
end;
finally
sl.Free;
end;


我认为当你说


如果任何行中有Hello


您正在寻找包含搜索字符串的行,而不是等于搜索字符串的行。



在评论中,您要求:


好,然后我可以问一下是否可以问如何
从文件中删除从编辑框中键入的字符串?所以
您在编辑框中输入字符串,然后搜索文件
为此,并删除该行?


这是上面的简单变化:

procedure RemoveLinesContaining(const fileName, searchText: string);
var
sl: TStringList;
i: Integer;
begin
sl := TStringList.Create;
try
sl.LoadFromFile(fileName);
for i := sl.Count-1 downto 0 do
if Pos(searchText, sl[i])<>0 then
sl.Delete(i);
sl.SaveToFile(fileName);
finally
sl.Free;
end;
end;


此函数删除包含搜索字符串的所有行。如果您只想删除第一行,则在调用Delete之后退出for循环。

循环变量递减,以允许循环修改列表。

如果要使用其他测试,请说相等而不是包含,然后只需修改if语句。

关于delphi - 在文本文件中搜索带有特定字符串的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12103251/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com