实际上是两个对应的函数,要求如下:函数1:将一String(例如:‘aaaaa/bbbbbbbbb/cc/’),按照分隔符‘/’解析成3个字符串,放到一个TStringList变量中。函数2:与1相反,这个我倒是会,主要是函数1,如果大家又现成的函数更好,如没有请告知怎么做,我对字符串处理不熟,万分感谢!!

解决方案 »

  1.   

    1、用ExtractStrings函数或者TStringList的Elimiter相关属性方法
      

  2.   

    function ExtractStrings(Separators, WhiteSpace: TSysCharSet; Content: PChar; Strings: TStrings): Integer;For Example:ExtractStrings(['/'], [' '],aaaaa/bbbbbbbbb/cc/', memo1.Lines);
      

  3.   

    你把那个字符串一个一个读出来,判断如果是/就把前面的字符组成一个串放入TStringList中。然后再读字符,碰到/就放入TStringList中。
      

  4.   

    写错了,是Delimiter,呵呵var
      sl: TStrings;
    begin
      sl := TStringList.Create;
      sl.Delimiter := '/';
      sl.DelimitedText := 'aaaaa/bbbbbbbbb/cc/';
      ShowMessage(sl.Text);
      sl.Free;
    end;
      

  5.   

    str := 'aa/bb/cc/'
      s := str;
      I := pos('/',str);
      str1 := copy(str,1,I);
      str := copy(str,I,length(str)-I);
      I := pos('/',str)
      str2 := copy(str,1,I);
      str := copy(str,I,length(str)- I);
      .....
      str := s;
      

  6.   

    答案来啦!
    function TDataModule3.SplitString(const source,ch:string):tstringlist;
    var
     temp:string;
     i:integer;
    begin result:=tstringlist.Create;
     temp:=source;
     i:=pos(ch,source);
     while i<>0 do
     begin
       result.Add(copy(temp,0,i-1));
       delete(temp,1,i);
       i:=pos(ch,temp);
     end;
     result.Add(temp);
    end;调用:
    var ss:tstringlist;
    ss:=SplitString('aa/dfs/ee','/');
      

  7.   

    这是个过程,你自已改一下吧procedure TForm1.Button1Click(Sender: TObject);
    var i:integer;
        k:string;
    begin
    for i:=1 to length(edit1.text) do
       begin
         if copy(edit1.text,i,1)<>'/' then
            k:=k+copy(edit1.text,i,1)
         else
          begin
           memo1.Lines.Add(k);
           k:='';
          end;
       end;
    end;
      

  8.   

    var
      sl: TStrings;
    begin
      sl := TStringList.Create;
      sl.Delimiter := '/';
      sl.DelimitedText := 'aaaaa/bbbbbbbbb/cc/';
      ShowMessage(sl.Text);
      sl.Free;
    end;这个好
      

  9.   

    love800309(兵工厂枪手) he  hunterht(核桃II——俺就是核桃的马甲) 方法正确
      

  10.   

    var
      sl: TStrings;
    begin
      sl := TStringList.Create;
      sl.Delimiter := '/';
      sl.DelimitedText := 'aaaaa/bbbbbbbbb/cc/';
      ShowMessage(sl.Text);
      sl.Free;
    end;
    very good,i didnt never used it before.