Translate

2014/12/11

Delphi XE 新特性 -- SplitString

官方手冊上是這麼寫的:

這個功能和 TStringList 的 Delimiter 有重疊,但卻少了 Create 和 Free 的動作,在程式寫作上會更為方便。
這也是從 .NET 上學習過來的,就使用它的範例吧:
procedure TForm1.Button1Click(Sender: TObject);
var
  vText: string;
  vStrArray: TStringDynArray;
  vPos: Integer;
  vStrList: TStringList;
begin
  vStrList := TStringList.Create();
  vText := 'there is a cat';
  vStrArray := StrUtils.SplitString(vText, ' ');
  for vPos := 0 to Length(vStrArray)-1 do
    vStrList.Add(vStrArray[vPos]);
  ShowMessage(vStrList.Text);
  FreeAndNil(vStrList);
end;

回傳結果:

比較要注意的地方是,Delimiters 參數雖然是 String 但只接受一個字元的內容。
如果超過兩個字元,會得到無法預期的結果。


沒有留言:

張貼留言

Why I Choose Delphi! (CHT)

扣除使用 C++ Builder 的時間,我實際使用 Delphi 的時間點是 2012 年,它帶我看到了不一樣的世界,見識到世界各地的高手使用 Delphi 創造出他們引以為豪的產品,並且無私的分享他們的學習知識,使我的技術能力得以跟隨他們的能力提升。 最最讓我喜歡的...