delphi 循环提取字符串问题!~

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 循环提取字符串问题!~相关的知识,希望对你有一定的参考价值。

以下字符串在Memo1中.
111111\lkadjf\lksjl
222222\sjdfsk\jhkkjh
333333\asd\fksj\lkfjs

我要提取每行以"\"结束的前面部分,也就是111111 222222 333333
然后写入到Memo2中
111111
222222
333333

还有如何避免重复(这个暂时不需要,以后可能需要)

谢谢各位大虾帮忙想一下.

参考技术A delphi自带了一个分割函数
ExtractStrings
function ExtractStrings(Separators: TSysCharSet; WhiteSpace: TSysCharSet; Content: PAnsiChar; Strings: TStrings): Integer;

[参数注释]:
Separators 参数指定一组分割符,所有的子串都是用它们分割的。但是成对的引号内的分割符会被忽略(参看下面的例子)。
WhiteSpace 参数指定每个子串开头被忽略的字符s。
Content 参数就是被分割的“源”串了。
Strings 参数用于接收分割后的各个子串。它的原有内容不会被清空。别忘了Create哦。
另外,EctractStrings不会把(忽略WhiteSpaces后的)空串加入到Strings中。
参考技术B procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
str:string;
begin
for i:= 0 to Memo1.Lines.Count-1 do
begin
str:=copy(Memo1.Lines[i],0,pos('\',Memo1.Lines[i])-1);
Memo2.Lines.Add(str);
end;
end;本回答被提问者采纳

以上是关于delphi 循环提取字符串问题!~的主要内容,如果未能解决你的问题,请参考以下文章

Delphi For循环占用CPU100%释放问题

delphi怎么获取字符串之间多个字符内容?

delphi关于stringgrid字符串转换的问题

DELPHI 字符串中的汉字处理

如何在批处理文件的for循环中提取子字符串[关闭]

delphi 快速读取内存字符串