Str1+'('+Str2+')'如:aaaa(bb),str1,str2长度未知,要分别取出str1,str2该怎么做阿?师兄们帮帮忙啊!

解决方案 »

  1.   

    var
      Str :AnsiString;
      i : Integer;
    begin
      Str := aaaa(bb);
      i := Pos(Str);
      str1 := Copy(Str,1,i-1);
      str2 := Copy(Str,i+1,length(Str)- length(str1)-2);
    end;以上代码没经过测试!
      

  2.   

    s := Str1+'('+Str2+')';
    Str1 := copy(s,1,pos('(',s) - 1);
    Str2 := copy(s,pos('(',s) + 1,pos(')',s) - pos('(',s) - 1);
      

  3.   

    var i:integer; date:sting;
     function findNUM(s:string):string;
    begin
    begin
          date:=' ';
        for i:=1 to length(s) do
        begin  if (s[i]>='0')and(s[i]<='9')
        then
               date:=date+s[i];//从字符串中取数字,
    end;
    end;
    end;
      

  4.   

    凑个热闹,再贴一个
    procedure GetStr(const S:string;var str1,str2:string);
    var
    p:^char;
    i:integer;
    temp:string;
    begin
      temp:='';
      for i:=1 to length(S) do
      begin
         p:=@S[i];
         case p^ of
         '(':begin
               str1:=temp;
               temp:='';
             end;
         ')':str2:=temp;
         else
           temp:=temp+P^;
         end;
      end;
    end;