zoukankan      html  css  js  c++  java
  • 关于 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;
    

  • 相关阅读:
    02 基本介绍
    01 概述 网络分层
    04 可扩展
    Java 注解2
    03 高可用
    重拾安卓_00_资源帖
    JavaUtil_09_通用工具类-01_Hutool
    java支付宝开发-01-沙箱环境接入
    java支付宝开发-00-资源帖
    svn_学习_01_TortoiseSVN使用教程
  • 原文地址:https://www.cnblogs.com/del/p/3147911.html
Copyright © 2011-2022 走看看