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;
    

  • 相关阅读:
    Android(一)
    git
    UBuntu18.04 配置环境
    TensorRT Development document (Python)
    继续
    tensorRT C++ API
    tensorRT 与yolov3_tiny
    浅谈PHP进程管理
    nginx 平滑重启的实现方法
    fast-cgi & php-fpm 等的理解 (讨论试理解)
  • 原文地址:https://www.cnblogs.com/del/p/3147911.html
Copyright © 2011-2022 走看看