Pascal substr等价物

时间:2012-09-03 20:28:59

标签: substring pascal substr

我正在寻找一个Pascal等价物(例如)php的substr函数,其工作方式如下:

$new_string = substr('abcdef', 1, 3);  // returns 'bcd'

我已经找到了它,但是我总是花费太长时间才这样做,所以我发布了像我这样的其他人的答案,以便能够轻松找到它。

3 个答案:

答案 0 :(得分:14)

您可以使用copy功能。语法如下:

copy(string, start, length);

Pascal中的字符串似乎从1开始索引,因此以下内容:

s1 := 'abcdef';
s2 := copy(s1, 2, 3);

会导致 s2 =='bcd'。

希望这有助于某人。

答案 1 :(得分:0)

Freepascal也有一个复制功能:

T:='1234567';
S:=Copy (T,1,2);   { S:='12'   }
S:=Copy (T,4,2);   { S:='45'   }
S:=Copy (T,4,8);   { S:='4567' }

我建议你看Lazarus IDE

答案 2 :(得分:-1)

    function substring(s: string; a, b: integer): string;
    var len: integer;
      procedure swap(var a, b: integer);
      var temp: integer;
      begin
        temp:= a;
        a:= b;
        b:= temp;
      end;
    begin
      if (a > b) then
        swap(a, b);
      len:= length(s);
      if ((len = 0) or ((a < 1) and (b < 1)) or 
          ((a > len) and (b > len))) then
      begin
        substring:= '';
      end
      else
      begin
        if (a < 1) then
          a:= 1;
        if (b > len) then
          b:= len;
        substring:= copy(s, a, b);
      end;
    end;