截取字符串封裝函數

在項目開發過程中,經常會用到字符串分割,這裏我封裝了一個截取字符串的小函數,拿出來和大家共享;

CString GetStrParam(CString sInfo, int iPos, CString sSplit)

參數說明:

  1. CString sInfo:待切割的字符串,例如:

    CString sInfo = _T("983256531{^}@163{^}com")
  2. int iPos:需要截取字符串在源串中的位置,從1開始計算;
  3. CString sSplit:拆分的標識;
  4. 返回值:函數截取出來的結果是通過函數的返回值來返回的;
    在上面的例子中,如果要截取@163這部分, iPos傳2,sSplit傳“{^}”;

函數實現

CString GetStrParam(CString sInfo, int iPos, CString sSplit)
{
    int i;
    CString str ;
    if (iPos < 1 )
    {
        return "" ;
    }
    else
    {
        int iCurPos = 0 ;
        for ( ; ; )
        {
            sInfo.TrimLeft();
            sInfo.TrimRight();
            if (sInfo == "")
            {
                return "" ;
            }
            iCurPos ++ ;
            i = sInfo.Find(sSplit) ;
            if ( i == -1 )
            {
                if (iPos == iCurPos)
                {
                    return sInfo;
                }
                else
                {
                    return "" ;
                }
            }
            else
            {
                if (iPos == iCurPos)
                {
                    return sInfo.Mid(0,i) ;
                }
                else
                {
                    sInfo = sInfo.Mid(i + sSplit.GetLength());
                }
            }
        }
    }
}
發佈了31 篇原創文章 · 獲贊 14 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章