• 关于 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;
    

  • 相关阅读:
    如何规范自己的编程以及软件开发目录(二)
    关于README的内容
    关于编程编程规范以及开发目录的规范性
    第五章:条件、循环以及其他语句(上)
    第四章 当索引行不通时
    python-zipfile模块
    python-shutil模块
    python-sys模块
    python-os模块
    python-threading.Thread(多线程)
  • 原文地址:https://www.cnblogs.com/del/p/3147911.html
Copyright © 2020-2023  润新知