江苏省苏州市昆山市朝阳北路88号林市大厦6楼;
上海市闵行区龙吴路1100弄111号;
安徽省阜阳市太和县插花镇胡海庄50户-2;
有没有一个含税可以返回上面地址的,省、市、区、县、镇,镇后面的统一为地址。
尤其是第一个地址比较难搞啊,里面有多个市不好判断额,老师们给个例子学习下。
江苏省苏州市昆山市朝阳北路88号林市大厦6楼;
上海市闵行区龙吴路1100弄111号;
安徽省阜阳市太和县插花镇胡海庄50户-2;
有没有一个含税可以返回上面地址的,省、市、区、县、镇,镇后面的统一为地址。
尤其是第一个地址比较难搞啊,里面有多个市不好判断额,老师们给个例子学习下。
简单的拆分用下面的代码就能做到, 但是类似 林市大厦 这种就无法分辨了, 只能作为一个市名去拆
真要是想准确, 就穷举出所有省/市数据, 取出来时做匹配判断, 网上能找到相关的库
procedure TForm1.Button1Click(Sender: TObject);
const
nSA: Array[0..4] of string = ('省','市','区','县','镇');
var
nStr, nText: string;
nIndex, nPI, nL: Integer;
begin
Memo1.Lines.Clear;
nText := string(Edit1.Text);
nPI := 0;
for nStr in nSA do
begin
nL := nStr.Length;
nIndex := nText.IndexOf(nStr, nPI);
while nIndex > -1 do
begin
Memo1.Lines.Add(nText.Substring(nPI, nIndex + nL - nPI));
nPI := nIndex + nL;
nIndex := nText.IndexOf(nStr, nPI);
end;
end;
Memo1.Lines.Add(nText.Substring(nPI, nText.Length));
end;