Delphi 截取字符串+详细注释  
官方Delphi 学习QQ群: 682628230(三千人)
频道

Delphi 截取字符串+详细注释


Delphi 截取字符串+详细注释


/// <summary>

/// 字符串分割

/// </summary>

/// <param name="mStr">被分割的字符串</param>

/// <param name="mDelimiter">分隔标识</param>

/// <returns>数组:TArray[string]</returns>

function mStrSplit(mStr: string; mDelimiter: string): TArray<string>;

var

  i, len, count: integer;

  mPart: string;

  mArr: TArray<string>;

begin

  // 字符串的长度

  len := Length(mStr);

  mPart := '';

  count := 0;

  // 遍历字符串

  for i := 1 to len do

  begin

    // 如果 第[i]个字符 = 分隔标识符 或者 (是最后一个字符 并且 这个字符 <> 分隔标识符)

    if (mStr[i] = mDelimiter) or ((i = len) and (mStr[i] <> mDelimiter)) then

    begin

      // 计数【返回时数组的长度】

      count := count + 1;

      // 设置数组长度

      SetLength(mArr, count);

      // 如果 是最后一个字符 并且 这个字符符 <> 分隔标识符

      if (i = len) and (mStr[i] <> mDelimiter) then

        // 截取部分 = 上个分隔符之后遍历的部分 + 当前不是分隔符的字符

        mPart := mPart + mStr[i];

      // 数组[count-1] = 截取部分

      mArr[count - 1] := mPart;

      // 清空截取部分的临时值

      mPart := '';

    end

    else

    begin

      // 截取部分 = 上个分隔符之后的截取临时值 + 这个不是分隔符的值

      mPart := mPart + mStr[i];

    end;

  end;

  // 遍历完成后返回数组

  Result := mArr;

end;


procedure TForm1.Button8Click(Sender: TObject);

var

  mStr: string;

  mArr: TArray<string>;

begin

  mStr := '小印01*小印02*小印03*小印04';

  // 调用方法

  mArr := mStrSplit(mStr, '*');

  // 因为我知道长度,所以就直接打印了

  ShowMessage(mArr[0] + #13#10 + mArr[1] + #13#10 + mArr[2] + #13#10 +mArr[3]);

end;

————————————————


原文链接:https://blog.csdn.net/qq_44111597/article/details/112605134



推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.03631591796875 seconds