例如:‘你好:嗯;你好:好的;姓名:张三;不用谢;知道:不知道;好了;是’ 字符串中我要知道‘你好:’到’;‘之间是什么,或 知道:到‘;’之间是什么 插入到数据库里面,比如现在'你好:=嗯'  ,姓名:=张三

解决方案 »

  1.   

    简单实用的办法var
      s,s1:string;
      i,j:Integer;
    begin
      s:='你好:嗯;你好:好的;姓名:张三;不用谢;知道:不知道;好了;是';
      while s<>'' do
      begin
        i:=Pos('你好',s);
        j:=Pos(';',s);
        if (i=0) or (j=0) then
        begin
          s:='';
          Continue;
        end;
        s1:=Copy(s,i+length('你好'),j-(i+length('你好')));//这个就是你要的中间部分
        //下面写插入数据库的代码
        //***********************
        s:=Copy(s,J+length(';'),Length(s)-(j+length(';'))+1);
      end;
    end;
      

  2.   


    var
        lss_Res: TStrings;
        s: string;
    begin
        lss_Res := TStringList.Create;    s := '你好:嗯;你好:好的;姓名:张三;不用谢;知道:不知道;好了;是';
        s := StringReplace(s, ':', ':=', [rfReplaceAll]);
        s := StringReplace(s, ';', #$0D#$0A, [rfReplaceAll]);    lss_Res.Text := s;    ShowMessage(lss_Res.Values['你好:']);
        ShowMessage(lss_Res.Values['姓名:']);
    end;