蚂蚁搬大象

导航

 

问题背景:有一组基金代码串,原逻辑按基金代码单个调整为按父子基金代码组作为条件获取查询结果

解决原理:采用TStringList类哈希表操作方式重组字符串

List := TStringList.Create;

List.Add('aaa=111');
List.Add('bbb=222');
List.Add('ccc=333');
List.Add('ddd=444');
ShowMessage(List.Names[1]);  //bbb
ShowMessage(List.ValueFromIndex[1]);  //222
ShowMessage(List.Values['bbb']);  //222

算法:

mapString := TStringList.Create;
tempString := TStringList.Create;
tempString.Delimiter:=',' ;
tempString.DelimitedText:= str;
for i := 0 to tempString.Count-1 do
begin
if mapString.Values[tempString[i]] = '' then
begin
sKey := tempString[i]+'='+tempString[i];
mapString.Add(sKey);
end
else
begin
sKey := tempString[i]+'='+mapString.Values[tempString[i]]+','+tempString[i];
mapString.Delete(mapString.IndexOfName(tempString[i]));
mapString.Add(sKey);
end;
end;

 
posted on 2024-02-20 17:06  蚂蚁搬大象  阅读(62)  评论(0)    收藏  举报