• bcb Split涵数


    // 拆分字符
    TStringList *Split(WideString Spliter, WideString String, int SplitNumber = 0)
    {
        int const MaxPos = 0x7fffffff, StartPos = 1;
        int FindPos, CharLen, Length, MySplitNumber=0;
        TStringList *Strs = new TStringList;
        BOOL LostTail;

        //if (SplitNumber == 0) LostTail = TRUE; 不严格,LostTail 在
        // SplitNumber != 0 时可能是任何值。故修改如下:
        LostTail = (SplitNumber == 0);
        //^^^^^^^^^^^^^^^^^^^^^^^^^^\\
        if (SplitNumber <= 0) SplitNumber = MaxPos;
            else MySplitNumber = SplitNumber;
        CharLen = Spliter.Length(); Length = String.Length();

        while(1)
        {
            FindPos = String.Pos(Spliter);
            if (CharLen <= 0){
                if (FindPos > Length) break;
                    else FindPos++;
            }
            if ((FindPos == 0) || (SplitNumber <= 1)){
                Strs->Add(String.SubString(StartPos,MaxPos));
                break;
            }
            --SplitNumber;
            Strs->Add(String.SubString(StartPos,FindPos - StartPos));
            String = String.SubString(FindPos+CharLen,MaxPos);
        }
        int i;
        for (i=Strs->Count; i<MySplitNumber; i++){
            Strs->Add("");
        }
        if (LostTail){
            for (i = Strs->Count - 1; i>=0; i--)
                if (Strs->Strings[i] == "") Strs->Delete(i);
                    else break;
        }

        return Strs;
    }

  • 相关阅读:
    iframe之间操作记录
    Windows平台下nginx跨域配置
    git 常用命令
    单引号和双引号
    Mybatis Generator配置详解
    IOS仿桌面拖动桌面图标
    Bash Shell基础笔记
    mysql服务启动异常:windows无法启动Mysql服务,位于本地计算机上的错误1053 解决
    lombok笔记----Lombok常用注解
    thrift笔记----大体上thrift知识
  • 原文地址:https://www.cnblogs.com/xsmhero/p/1557120.html
Copyright © 2020-2023  润新知