• delphi string.split 按照任意字符串分割语句


    delphi string.split 按照任意字符串分割语句

     

    1、就是把一个指定的字符串用指定的分割符号分割成多个子串,放入一个 TStringList 中
    function ExtractStrings(Separators, WhiteSpace: TSysCharSet; Content: PChar;
     Strings: TStrings): Integer;
    比如要把 'abc,defg,hijkl'; 按照逗号','分割开:
    var
     Res: TStringList;
     Count: Integer;
    begin
     s := 'abc,defg,hijkl';
     Res := TStringList.Create;
     Count := ExtractStrings([','], [], PChar(s), Res);
     ShowMessage('共分割出 ' + IntToStr(Count) + ' 个子串');
     ShowMessage(Res.Text);
     Res.Free;
    end; 

    2、Split函数(自建)

    var
      I: Integer;
      S: string;
      A: TArray<string>;
    begin
      S := 'AAA分割bbb分割ccc';
      A := S.Split(['分割']);
      for I := 0 to High(A) do
        ShowMessage(A[I]);
    end;

    输出结果为:

    AAA

    BBB

    CCC

    var

      str: string;
      arr: TArray<string>;
    begin
      str := 'A-1,B-2,,,C-3,D-4';

      arr := str.Split([',']);                                   // arr[0] = A-1; Length(arr) = 6
      arr := str.Split([','], TStringSplitOptions.ExcludeEmpty); // 忽略空项; Length(arr) = 4
      arr := str.Split([','], 2);                                // 只提取前 2

      arr := str.Split([',', '-'], ExcludeEmpty); //arr[0] = A; Length(arr) = 8

      arr := str.Split([',,,'], None);            // 分隔符可以是一个字符串数组
    end;

  • 相关阅读:
    Codeforces-541div2
    动态规划-线性dp-hdu-4055
    动态规划_线性dp
    动态规划_背包问题笔记
    codeforces-1111
    数论模板
    codeforces-1114F-线段树练习
    2-sat
    拓扑排序
    强连通分量
  • 原文地址:https://www.cnblogs.com/bwdblogs/p/10312494.html
Copyright © 2020-2023  润新知