请教一下,我有下面的一个字符窜,应该用那个函数来统计一下"/"出现的次数啊,麻烦写点具体的代码,先谢谢了
T2008.1210-17:25/N*.1216(*)-23:50/T2008.1210-09:35/R1-0:30

解决方案 »

  1.   

    LPCTSTR lpszText = _T("T2008.1210-17:25/N*.1216(*)-23:50/T2008.1210-09:35/R1-0:30");
    int i = 0, nCount = 0;while (lpszText[i])
    {
        if ('/' == lpszText[i++])
            nCount++;
    }
      

  2.   

    CString str = "T2008.1210-17:25/N*.1216(*)-23:50/T2008.1210-09:35/R1-0:30 ";
    int len = str.GetLength();
    int count = 0;
    for(int i = 0 ; i< len; i++)
    {
      if(str.GetAt(i) == '/')
         count++;
    }count  为'/'出现的次数
      

  3.   

    正则表达式// 查找一段中 一个单词 所有的 . 例如: 查找一个段落中的
    // Metacharacter: \b * 
    // 精确地查找hi这个单词 :  \bhi\b       ( 查处来一段中所有的Hi )
    // 逻辑匹配找出来所有的浮点数       :\\b\\d+\\.\\d+ ( 查出来一段中 所有的 浮点数  ) LRESULT CMainDlg::OnClickedBtn_word(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
    {
    // TODO : Add Code for control notification handler.
    ::MessageBox(NULL, _T("查出来一段中 所有的 浮点数 "),  _T("Function"), MB_OK);
    TCHAR szInput[1024];
    ::GetWindowText(GetDlgItem(IDC_EDIT_INPUT), szInput, 1024);
    TCHAR *p;
    p = szInput; //delare 
    //static CRegexpT<char> regexp("\\bhi\\b");
    static CRegexpT<char> regexp("[\\d+|0]\\.\\d+"); 
    //prepare
    CContext *pContent = regexp.PrepareMatch(szInput); //test
    MatchResult Ret = regexp.Match(pContent); CString tempSplit = szInput;
    CString str ;
    CString strWehave;
    strWehave.Empty();
    while (Ret.IsMatched()) 
    {
    //printf("%.*s\n", result.GetEnd() - result.GetStart(), text + result.GetStart());
    //result.GetEnd() - result.GetStart() 这个是匹配 长度
    //text + result.GetStart()   - 在S个字符中去你个显示


    //int  len = Ret.GetEnd() - Ret.GetStart() ;
    // 匹配字符串的长度
    str.Empty();
    str = tempSplit.Mid( Ret.GetStart(), Ret.GetEnd() - Ret.GetStart()  );

    strWehave += "数据:";
    strWehave +=  str;
    strWehave += "\r\n";

    ::SetWindowText(GetDlgItem(IDC_EDIT_OUTPUT), strWehave);  Ret = regexp.Match(szInput, Ret.GetEnd());


    return 0;
    }
      

  4.   

    CString str = "T2008.1210-17:25/N*.1216(*)-23:50/T2008.1210-09:35/R1-0:30"
    str.Replace("/","/");
    这个是替换函数,替换的时候它会返回多少个被替换了,也就是有多少个“/”