有了一系列的 Helper, Delphi 也可以使用鏈式代碼了.
//譬如要把 3.1415926 中的 141 提取為一個整數: var num: Integer; begin num := Pi.ToString().Split(['.'])[1].Substring(0,3).ToInteger(); // 輸入 . 後, 記得使用 Ctrl+Space 提示代碼 ShowMessage(num.ToString()); // 141 end;
{程序要求從下面的文本中提取 A: B: ... 後面的文本到指定的變量: A: qwertyuiop B: wertyuiopa C: ertyuiopas qwertyuiopasd D: rtyuiopasd ... } uses System.Character; // <-- IsInArray const FText = 'A: qwertyuiop'#13#10 + 'B: wertyuiopa'#13#10 + 'C: ertyuiopas'#13#10 + 'qwertyuiopasd'#13#10 + 'D: rtyuiopasd'#13#10; procedure TForm1.Button1Click(Sender: TObject); var List: TStringList; A, B, C, D: string; str: string; begin List := TStringList.Create; List.Text := FText; for str in List do begin if (str.Length > 2) and str[2].IsInArray([':']) then begin case str[1] of 'A': A := str.Substring(2).Trim; // 這裡用上了鏈式代碼 'B': B := str.Substring(2).Trim; 'C': C := str.Substring(2).Trim; 'D': D := str.Substring(2).Trim; end; end; end; List.Free; ShowMessageFmt('%s; %s; %s; %s', [A, B, C, D]); end;