有如下字符串str:='306441215200001         广宇房地产开发有限公司'怎样将他保存于两个变量中如
s1:='306441215200001'
s2:='广宇房地产开发有限公司'

解决方案 »

  1.   

    那没关系。
    i:=Pos(' ',str);
    s1:=Trim(Copy(str,1,length(str)-i-1);
    s2:=Trim(Copy(str,i,length(str)-i);
      

  2.   

    s1 := LeftStr(str, pos(' ', str) - 1);
    Delete(str, 1, pos(' ', str) - 1);
    s2 := TrimRight(str);
      

  3.   

    谢谢楼上的几位刚才没考虑周全,
    字符串有可能是这样的str:='306441215200001         广宇房地产开发有限公司    12.3'要分割成三个子串s1:='306441215200001'
    s2:='广宇房地产开发有限公司'
    s3:='12.3'
      

  4.   

    while not (I=0) do
      begin
        I:=Pos(' ',Str);
        if I=0 then
        begin
          ShowMessage(Trim(Str));
          Exit;
        end;
        ShowMessage(Trim(Copy(Str,0,I-1)));
        Str:=Trim(Copy(Str,i,Length(str)-i));
      end;
      

  5.   

    你不太喜欢动脑子吗,把取得的字符串这样
    p:=pos('',str);
    s1:=trim(str,1,p);
    tempstr:=trim(copy(str,p,length(str)));
    p:=pos('',tempstr);
    s2:=trim(tempstr,1,p);
    s3:=trim(copy(str,p,length(tempstr)));
      

  6.   

    如果字符串不定长度,可以使用递归来写,每次取得的字符可以放到STRINGLIST中
      

  7.   

    试试WrapText这个函数,查查帮助
      

  8.   

    这个问题你应该这样解决
    先Trim(),然后判断第一个是数字还是字符,循环取知道不相同为止,如果出现不相同的将以前截取的字符存取到一个变量,截取完为止。
      

  9.   

    用Pos(' ',string);来判断空格再字符串中的位置。
    然后用Copy方法来分割字符串。再用trim来处理字符串前的空格。
      

  10.   

    最好用递归法
    Trim(str)