处理一串字符串的时候.如何让他按照特定的分符得到
首先。我得到的一串字符串是这个 http://forum.
我想要的是效果是
http://forum.
http://forum.
http://forum.
http://forum.
..不知道大伙明白不......我已经通过百度搜索了得到了一些按照特殊字符分隔号,
但
我写的代码得到了像上面的地址....
procedure TForm1.Button4Click(Sender: TObject);
var
a,b,c,aa,str:string;
i,ii:integer;
begin
str := 'http://localhost/blog/delphi/post/delphi字体.html';
a:=str;
aa:='';
delete(a,1,pos('/',a)+1); // --删除第一个/的起始,也就是http:/ + /
b:=copy(a,1,pos('/',a)-1); // --搜索/ ,因为上面的已经删除了前面的/,
b:='http://'+b; // --所以这一次就从地址的xx.为结束得到网址完整
for i := 3 to pos('/',str) do
begin
a:=GetListSubValue(str,'/',i); //getlistsbuvalue是网上的一个分割参数
aa:=aa+'/'+a;
memo1.Lines.Add(b+aa);
end;
这是分割处的代码
function GetListSubValue(TotalValue: string;SplitStr: string;subIndex: integer): string;
var
iPos: integer;
Label 1;
begin
1:
iPos := Pos(SplitStr,TotalValue);
if ipos = 0 then result := TotalValue
else if subindex = 0 then
result := Copy(TotalValue,1,ipos-1)
else
begin
TotalValue := Copy(TotalValue,ipos+Length(SplitStr),MaxInt);
if subIndex <> 0 then
begin
subIndex := subIndex - 1;
goto 1;
end;
end;
end;
但是虽然能得到了值。但是无论我换了几层目录都是会返回四个目录的数.
正常的目录
http://forum.
执行后
http://forum. //多出了一个
http://forum.
http://forum.
http://forum.
http://forum.
--------------------------------------------------------------------------
我知道是我的算法有问题。所以想请各位朋友能帮帮忙,帮我改一下。就是无论这个地址是什么值。他就会按照目录多少次来进行得到他的目录.....