delphi 关于 TRegEx.Split()


本文整理自网络,侵删。

 delphi 关于 TRegEx.Split()

表达式中的括号将严重影响分割结果.
--------------------------------------------------------------------------------


uses RegularExpressions;

const
  FSourceText = '1: AAA 2: BBB 3: CCC'; // 分隔符将有三部分构成: 一个数字, 一个冒号, 一个空格
var
  Arr: TArray;
  str: string;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Arr := TRegEx.Split(FSourceText, '\d: ');

  Memo1.Clear;
  for str in Arr do Memo1.Lines.Add(str);
  {结果:

  AAA
  BBB
  CCC
  }
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Arr := TRegEx.Split(FSourceText, '(\d): '); //括号中的部分被当做分割后的元素

  Memo1.Clear;
  for str in Arr do Memo1.Lines.Add(str);
  {

  1
  AAA
  2
  BBB
  3
  CCC
  }
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  Arr := TRegEx.Split(FSourceText, '(\d:) '); // 证实上面

  Memo1.Clear;
  for str in Arr do Memo1.Lines.Add(str);
  {

  1:
  AAA
  2:
  BBB
  3:
  CCC
  }
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  Arr := TRegEx.Split(FSourceText, '(\d)(:) '); // 如果有两个括号, 取后面括号的内容做元素

  Memo1.Clear;
  for str in Arr do Memo1.Lines.Add(str);
  {

  :
  AAA
  :
  BBB
  :
  CCC
  }
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
  Arr := TRegEx.Split(FSourceText, '(\d)(:)( )'); // 证实上面

  Memo1.Clear;
  for str in Arr do Memo1.Lines.Add(str);
  {


  AAA

  BBB

  CCC
  }
end;
--------------------------------------------------------------------------------

相关阅读 >>

Delphi webbrowser获取页面全部链接

Delphi 圆角panel

推荐一套免费跨平台的Delphi 哈希及加密算法库

Delphi的tclientsocket组件和tserversocket组件(c/s)说明

Delphi 获取网址链接协议头

Delphi listview高速添加数据

Delphi 实现php的urlencode编码效果

Delphi indy控件实现网络验证与asp通信

Delphi 的编码与解码(或叫加密与解密)函数

Delphi ioutils单元查找文件夹高级功能

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...