用pos函数可以定位到第一个匹配的子串的位置

解决方案 »

  1.   

    以下是依次找出所有的子串,并把它们的位置放入一个TComboBox中:
    var
      SubStr,MainStr,TempStr:String;
      P:Integer;
    begin
      SubStr:=Edit1.Text;
      MainStr:=Edit2.Text;
      while Pos(SubStr,MainStr)>0 do
      begin
        P:=Pos(SubStr,MainStr);//找到一个子串
        MyList.Items.Add(IntToStr(P+Length(SubStr)*MyList.Items.Count));
        //把位置加入到名为MyList的TComboBox中
        TempStr:=Copy(MainStr,1,P-1);
        MainStr:=TempStr
          +Copy(MainStr,P+Length(SubStr),Length(MainStr)-P-Length(SubStr)+1);
        //以上两句是把主串中所其包含的子串删除
      end;
    end;