比如一文档,有很多地方出现电子邮件,如何提取所有的电子邮件地址呢?
再举一例,数字串:1213,78,442,568,...........这个数字串不确定包含多少组数字,如果提取每一组的数据呢?

解决方案 »

  1.   

    procedure GetString( S:string);
    var
      iPos,I:Integer;
      str,tempStr : String;
      strArray : array[0..255] of String;  //这个数组放你需要的数据
    begin
      tempStr := S ;
      if Length(s) <= 0 then Exit;
      for I:=1 to Length(S) do
        begin
          iPos := Pos(',',s);
          if iPos > 0 then
            begin
              str := Copy(tempStr,1,iPos-1);
              strArray[I] := str;
              Delete(tempStr,1,iPos);
            end
          else
            begin
              strArray[I] := str;
              Break;
            end;
        end;
    end;
      

  2.   


    uses PerlRegEx;procedure TForm1.Button1Click(Sender: TObject);
    begin
      with TPerlRegEx.Create(Self) do begin
        Subject := '1213,78,442,568';
        RegEx := '([0-9]+)';
        while MatchAgain do
          Memo1.Lines.Add(MatchedExpression);
        Free;
      end;
    end;
    1213
    78
    442
    568
      

  3.   


    procedure TForm1.Button2Click(Sender: TObject);
    var
      SS: TStringList;
    begin
      SS := TStringList.Create;
      SS.Text := StringReplace('1213,78,442,568', ',', #10, [rfReplaceAll]);
      Memo1.Lines.Assign(SS);
      SS.Free;
    end;
    1213 
    78 
    442 
    568