System.Copy - 从字符串或数组中复制

function Copy(
  S: String;      {字符串或动态数组}
  Index: Integer; {起始位置}
  Count: Integer  {Copy 个数}
): String;        {如果参数 S 是动态数组, 这里也应该返回动态数组}


//从字符串中提取
var
  ss,s: string;
begin
  ss := 'CodeGear Delphi 2007';
  s := Copy(ss,5,4);
  ShowMessage(s);   {Gear}
end;



//从静态字符数组中截取字符串
var
  arr: array[0..25] of Char;
  s: string;
  i: Integer;
begin
  {给 arr 装入 26 个大写字母}
  for i := Low(arr) to High(arr) do
    arr[i] := Chr(i+65);
    
  {提取}
  s := Copy(arr, 1, 3);
  ShowMessage(s);       {ABC}
end;



//从动态数组到动态数组
var 
  arr1,arr2 : array of Integer;
  i: Integer;
begin
  {设定数组大小}
  SetLength(arr1, 10);

  {给数组赋值}
  for i := Low(arr1) to High(arr1) do
    arr1[i] := i;

  {执行 Copy; 注意: 之前没有给 arr2 设置大小, 就是设置了, 在这里也会被重置!}
  arr2 := Copy(arr1, 0, 3);

  for i in arr2 do
    ShowMessage(IntToStr(i)); {会分别显示: 0、1、2}
end;




//关于起始位置(仅对字符串, 动态数组另当别论)
const
  ss = 'ABCDEFG';
var
  s: string;
begin
  s := Copy(ss, 1, 3);
  ShowMessage(s);        {ABC}
  s := Copy(ss, 0, 3);
  ShowMessage(s);        {ABC}
  s := Copy(ss, -1, 3);
  ShowMessage(s);        {ABC}
  s := Copy(ss, -100, 3);
  ShowMessage(s);        {ABC}
end;



//关于 Copy 个数
const
  ss = 'ABCDEFG';
var
  s: string;
begin
  s := Copy(ss, 2, 6);
  ShowMessage(s);               {BCDEFG}
  s := Copy(ss, 2, Length(ss));
  ShowMessage(s);               {BCDEFG}
  s := Copy(ss, 2, MaxInt);
  ShowMessage(s);               {BCDEFG}
end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值