很规律的字符串处理起来非常简单,用AnsiReplaceText函数将字符串的“|”替换成回车换行符(#13#10),再把整个字符串赋值给一个StringList。用循环取两节跳过若干节就行了。
先给一个字符串分割函数
type
TUserArray = array of string;
function Split(s: string; dot: char): TUserArray; //按分隔符分割字符串
var
str: Tuserarray;
i, j: integer;
begin
i := 1;
j := 0;
SetLength(str, 255);
while Pos(dot, s) > 0 do //Pos返回子串在父串中第一次出现的位置.
begin
str[j] := copy(s, i, pos(dot, s) - i);
i := pos(dot, s) + 1;
s[i - 1] := chr(ord(dot) + 1);
j := j + 1;
end;
str[j] := copy(s, i, strlen(pchar(s)) - i + 1);
result := str;
setLength(str, 0);
end;
思路 你先用$ 分割成一个字符串数组
再在分割成的数组里 用|分割
arr1,arr2:TUserArray ;
i:integer;
str1,str2:string;
str1:='要分割的字符串';
arr1:=Split(str1,'$'); //函数默认是255长度 如果不够 就修改255
for i:=0 to length(arr1)-1 do
begin
str2:=arr1[i];
if str2='' then
Break;
arr2:=Split(str2,'|');
arr2[0]和 arr2[1]就是你要的结果
增加到listview 即可
end;
代码没有经过编译 思路肯定没问题