请问有没有实现类似于下面功能的有关字符的函数str1,str2:string;
函数(str1,str2,n)
就是函数实现了在str1中第n次找到str2,并且返回了第n次的位置!请大家帮忙吧!!

解决方案 »

  1.   

    result是第几个,source是源文件,findstr是要找的东西。IF RESULT不为○就找到了。j 是位置
    result:=0;
    count:=0;
    for i:=0 to length(source) do
    begin
      if copy(source,i,length(findstr))=findstr then
      begin
        inc(count);
        result:=count;
        j=i;
      end;
    end;
      

  2.   

    function fun(str1, str2: String; n: Integer): Integer;
    var
      I: Integer;
      str: String;
    begin
      Result := 0;
      I := 0;
      str := str1;
      while str <>'' do
      begin
        if pos(str2,str) > 0 then
        begin
          inc(I);      Result := Result + pos(str2,str);
          if I>1 then
            Result := Result +length(str2);
          if I = n then Exit;
          delete(str,1,pos(str2,str)+length(str2));
        end
        else
          exit;
      end;  if I < n then
      Result := 0;
    end;