gpt4 book ai didi

string - 如何获取 TStringList 中的最后一个字符串

转载 作者:行者123 更新时间:2023-12-03 15:40:57 32 4
gpt4 key购买 nike

我花了好几天时间寻找如何做到这一点,但没有什么是我真正需要做的(或者我只是不明白如何实现该解决方案)。

我需要做的是将一个字符串(街道地址)解析为 TStringList,然后将列表中的这些字符串设置为变量,然后我可以将其传递给程序的其余部分。我已经让列表工作正常:

var
AddressList : TStringList;
i : integer;

begin
AddressList := TStringList.Create;
AddressList.Delimiter := ' ';
AddressList.DelimitedText := RawAddressStr; //RawAddressStr is parsed from another file and the string result is something like '1234 Dark Souls Lane Wyoming, MI 48419'

for i := 0 to AddressList.Count-1 do
AddressList.Strings[i]; //Not sure what to do here

问题在于地址的长度并不总是相同。地址有时会类似于“1234 Dark Souls Two Lane Wyoming...”或“1234 Dark Lane Wyoming...”

所以我需要能够使用这个 TStringList 将 Zip、State 和 City 设置为变量以供以后使用。我会使用 TStringList.Find,但邮政编码并不总是相同。有没有办法获取最后一个字符串,然后从那里向后返回? (向后退,因为一旦我获得了城市、州邮政编码,我可以将其从 RawAddressStr 中删除,然后将其余部分设置为地址字符串。)

谢谢。

编辑,这是我需要的代码(感谢下面的评论): 地址列表 := TStringList.Create;

AddressList.Delimiter := ' ';
AddressList.DelimitedText := RawAddressStr;

for i := 0 to AddressList.Count-1 do
LastIndex := AddressList.Count - 1;
ZipStr := AddressList[LastIndex];
StateStr := AddressList[LastIndex - 1];
CityStr := AddressList[LastIndex - 2];

现在我可以将它们与 StringReplace 结合使用,从完整地址字符串中取出城市、州邮政编码,并将其设置为要使用的地址字符串。

最佳答案

既然你问了,我有点不确定你到底在寻找什么如何获取 StringList 的最后一个字符串,然后在你提出的问题的末尾

Is there a way to get the last string and then go backwards from there?

如果你想获取 StringList 的最后一个字符串,可以使用

  var AddressList : TStringList;
MyString: string;
begin
MyString := AddressList.Last; //this...
MyString := AddressList.Strings[AddressList.Count-1]; //...and this is essentially the same thing
end;

如果你想反向或向后进行 for 循环,你应该写:

for i := AddressList.Count-1 downto 0 do
AddressList.Strings[i]; //Not sure what to do here

请注意,它说的是“DOWNTO”而不是“TO”。

现在,如果您想停在特定字符串处,例如邮政编码,您需要让您的软件理解它正在读取的内容。

哪一个分隔字符串是城市?地址是哪一个?对于软件来说,字符串就是字符串,它不知道,甚至不关心它读的是什么。

所以我想建议你有一个城市数据库,它可以比较字符串地址列表 t,o 并查看是否有匹配。

您还可以在算法中实现一些逻辑。如果您知道分隔 AdressList 字符串的最后一个字符串始终是城市名称,那么你就知道你有可以使用的城市名称。

如果您知道邮政编码和城市名称之间的所有内容都是街道地址,然后只需复制邮政编码和城市名称之间的所有内容,并将其用作街道名称信息。

关于string - 如何获取 TStringList 中的最后一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26003734/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com