有了一系列的 Helper, Delphi 也可以使用鏈式代碼了.
//譬如要把 3.1415926 中的 141 提取為一個整數:var num: Integer; begin num := Pi.ToString().Split(['.'])[1].Substring(0,3).ToInteger(); // 輸入 . 後, 記得使用 Ctrl+Space 提示代碼 ShowMessage(num.ToString()); // 141end;
我是在寫類似下面程序時開始使用的:
{程序要求從下面的文本中提取 A: B: ... 後面的文本到指定的變量:A: qwertyuiopB: wertyuiopaC: ertyuiopasqwertyuiopasdD: rtyuiopasd...}uses System.Character; // <-- IsInArrayconst 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 beginif (str.Length > 2) and str [2].IsInArray([':']) thenbegin 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;