Delphi 2009 之 TStringBuilder 类[3]: Replace

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

//TStringBuilder.Replace 替换字符串
procedure TForm1.Button1Click(Sender: TObject);
var
  sb: TStringBuilder;
begin
  sb := TStringBuilder.Create;
  sb.Append('从 Delphi 2007 到 Delphi 2009');

  sb.Replace('Delphi', 'CBuilder');
  ShowMessage(sb.ToString);         {从 CBuilder 2007 到 CBuilder 2009}

  sb.Free;
end;

//TStringBuilder.Replace 替换字符
procedure TForm1.Button2Click(Sender: TObject);
var
  sb: TStringBuilder;
begin
  sb := TStringBuilder.Create;
  sb.Append('从 Delphi 2007 到 Delphi 2009');

  sb.Replace('0', '9');
  ShowMessage(sb.ToString);         {从 Delphi 2997 到 Delphi 2999}

  sb.Free;
end;

//TStringBuilder.Replace 在指定范围内替换字符
procedure TForm1.Button3Click(Sender: TObject);
var
  sb: TStringBuilder;
begin
  sb := TStringBuilder.Create;
  sb.Append('ABABABABABAB');

  sb.Replace('A', '-', 4, 5);
  ShowMessage(sb.ToString);    {ABAB-B-B-BAB}

  sb.Free;
end;

//TStringBuilder.Replace 在指定范围内替换字符串
procedure TForm1.Button4Click(Sender: TObject);
var
  sb: TStringBuilder;
begin
  sb := TStringBuilder.Create;
  sb.Append('ABC123ABC123ABC123');

  sb.Replace('ABC', '-', 3, 12);
  ShowMessage(sb.ToString);      {ABC123-123-123}

  sb.Free;
end;

end.