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;
    

  • 相关阅读:
    C++链式队列基本操作
    C++链栈基本操作
    C++顺序栈基本操作
    C++链表基本操作
    C/C++/JAVA
    C++操作链表
    How Many Maos Does the Guanxi Worth
    Heavy Transportation
    Frogger
    Til the Cows Come Home(Dijkstra)
  • 原文地址:https://www.cnblogs.com/del/p/3147911.html
Copyright © 2011-2022 走看看