问题背景:有一组基金代码串,原逻辑按基金代码单个调整为按父子基金代码组作为条件获取查询结果
解决原理:采用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;
标签:sKey,TStringList,delphi,按键,List,Add,mapString,tempString,字符串 From: https://www.cnblogs.com/lighting-bug/p/18023565