该字符串以10开头,并以10结束,
如:10123456789010需要判断除了开头和结尾处的10之外,字符串内是否还有10,
如果有一个10,那么将执行将内部的10变成1010;如:1012345106789010
变成:101234510106789010如果有两个10,那么将执行将内部的1010变成10;如:101234510106789010
变成:1012345106789010新手上路,请高手帮忙写一下具体实现代码过程!

解决方案 »

  1.   


    procedure TForm1.btn1Click(Sender: TObject);
    var
      str,tmp,a,b:string;
    begin
      str:=edt1.Text;
      edt2.Text:='';
      a:=leftstr(str,2);                        //从字符串左边取2位字符串
      b:=rightstr(str,2);                       //从字符串右边取2位字符串
      if (a='10') and (b='10') then
      begin
        str:=Copy(str,3,Length(str)-4);        //取字符串
        if Pos('1010',str)>0 then              //检查是否存在字符串'1010'
        begin
          tmp:=StringReplace(str,'1010','10',[rfReplaceAll]);   //字符串替换
          edt2.Text:=a+tmp+b;
          Exit;
        end;
        if Pos('10',str)>0 then                //检查是否存在字符串'1010'
        begin
          tmp:=StringReplace(str,'10','1010',[rfReplaceAll]);   //字符串替换
          edt2.Text:=a+tmp+b;
        end;
      end
      else
      edt2.Text:='字符不符要求';
    end;
    笨办法做了一个不知对不对。
      

  2.   

    除去首尾的10,中间直接用stringreplace 一次性替换就可以了