/ Sub equivalente de Pascal - substring, pascal, substr

Equivalente a substrato Pascal - substring, pascal, substr

Eu estava procurando por um equivalente Pascal para (por exemplo) a função substr do php, que funciona assim:

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

Eu já encontrei, mas eu sempre demoro muito para fazê-lo, então estou postando a resposta para os outros como eu para poder encontrá-lo facilmente.

Respostas:

12 para resposta № 1

Você pode usar a função cópia de. A sintaxe vai:

copy(string, start, length);

Seqüências de caracteres em Pascal parecem ser indexadas a partir do 1, portanto, o seguinte:

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

vai resultar em s2 == "bcd".

Espero que isso ajude alguém.


0 para resposta № 2

Freepascal também tem uma função de cópia:

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

Eu recomendo que você veja Lazarus IDE.


-1 para resposta № 3
    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;