【发布时间】:2019-10-31 14:21:51
【问题描述】:
我有这个字符串:
Called=%2B12608883475&ToState=IN&CallerCountry=US&Direction=inbound&CallerState=IN&ToZip=&CallSid=CAb7faaa30058c2347a595630f2475113a&To=%2B12608883475&CallerZip=
我想通过& 解析它以获取所有参数,然后按字母顺序对参数进行排序,区分大小写。
所有这些都必须在 Delphi 5 中完成:
Function TwilioSignatureValidate(twilioSignature: string; QueryString: string ; Url: string): boolean;
begin
parameters := QueryString;
List := TStringList.Create;
end;
这是我要复制的 C# 版本:
string input = "Called=%2B12608883475&ToState=IN&CallerCountry=US&Direction=inbound&CallerState=IN&ToZip=&CallSid=CAb7faaa30058c2347a595630f2475113a&To=%2B12608883475&CallerZip=";
Dictionary<string,string> keyValuePairs = input.Split('&')
.Select(value => value.Split('='))
.ToDictionary(pair => pair[0], pair => pair[1]);
string studentId = keyValuePairs["StudentId"];
使用 List.Sort;
我得到了我的 Delphi 列表按字母顺序排序,但它不是使用 Unix 风格的区分大小写的排序顺序: //德尔福排序 https://ffbc1360.ngrok.io 帐户SidACc6d06b4cb61ccbfa61bf461957a5a626 api版本2010-04-01 拨打+12608883475 被称为城市 称为国家美国 调用状态IN 叫Zip 来电者+12602060582 来电城 来电国家美国 来电者状态IN 来电邮编 呼叫SidCAb7faaa30058c2347a595630f2475113a CallStatusringing 方向入站 来自+12602060582 来自城市 FromCountryUS 来自StateIN FromZip 至+12608883475 城市 去往美国 ToStateIN 压缩包
//正确的c#排序 https://ffbc1360.ngrok.io 帐户SidACc6d06b4cb61ccbfa61bf461957a5a626 api版本2010-04-01 呼叫SidCAb7faaa30058c2347a595630f2475113a CallStatusringing 拨打+12608883475 被称为城市 称为国家美国 调用状态IN 叫Zip 来电者+12602060582 来电城 来电国 美国来电者 状态输入 来电邮编 方向入站 来自+12602060582 来自城市 FromCountryUS 来自StateIN FromZip 至+12608883475 城市 去往美国 ToStateIN 压缩包
【问题讨论】:
-
到目前为止你尝试过什么?你被困在哪里了?
-
您的具体问题是什么?
-
如何将我的查询字符串排序到一个列表中,我是 Delphi 的新手。
-
发布几乎完全被注释掉的代码就像根本不发布代码一样没用。您发布的代码显然不是您使用 Delphi 5 所做的,因为 Delphi 5 不支持泛型或 TStringBuilder。
标签: parsing delphi query-string