蚂蚁搬大象

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
统计
 

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

解决原理:采用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   蚂蚁搬大象  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
 
点击右上角即可分享
微信分享提示