我得字符串是这样的(_表示空格)
111_222
现想分为111和222两个String,怎么处理

解决方案 »

  1.   

    var
      s,s1,s2: string;
      i: Integer;
    begin
      s := 111_222;
      i := Pos(' ',s);
      s1 := copy(s,1,i-1);
      s2 := copy(s,i+1,length(s)-i)
    end;
      

  2.   

    type
      TArray = array of string;procedure TrimChar(s:string;var sRet : TArray);
      function CountChar(s:string; c:char):integer;
      var
        i : integer;
      begin
        result := 0;
        for i := 1 to Length(s) do
          if s[i] = c then Inc(result);
      end;
    var
      iPos : integer;
      i    : integer;begin
      SetLength(sRet, CountChar(s, ',') + 1);
      iPos := Pos(',', s);
      i := 0;
      while iPos > 0 do
      begin
        sRet[i] := Copy(s, 1, iPos - 1);
        Delete(s, 1, iPos);
        iPos := Pos(',', s);
        Inc(i);
      end;
      sRet[i] := s;
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    var
      sA : TArray;
      s  : string;
      i  : integer;
    begin
      s := 'abc,cd,mm,44';
      sA := nil;
      TrimChar(s, sA);
      for i := Low(sA) to High(sA) do
        Memo1.Lines.Add(sA[i]);
    end;改一下。
      

  3.   

    var
      StringList:TStringList;
      str:string;
    begin
      str:='12 233 3446 45879';  StringList:=TStringList.Create;
      ExtractStrings([' '],[],pchar(str),StringList);
      Caption:=StringList.Strings[3];
      StringList.Free;
    end;
      

  4.   

    function parsStr(sSpt: string; sOldSp: string); TStringList;
    var
      sStr: string;
    begin
      result.clear;
      sStr:= StringReplace(sSpt, sOldSp, #13#10 );
      result.text := sStr;
    end;之后你就可以取你想要的东东