搜尋

首頁  >  問答  >  主體

C++ 判断一个大字符串里出现一个小字符串的次数 string对象

C++ 如何判断一个大字符串里出现一个小字符串的次数 用string对象的自带函数有吗

怪我咯怪我咯2885 天前583

全部回覆(3)我來回復

  • 天蓬老师

    天蓬老师2017-04-17 11:48:58

    封裝一下 find 方法即可。

    隨手寫的範例程式碼,僅供參考:

    cppstd::string str("abcabdabcdsdabcds");
    
    auto occurrences = [&str](const std::string &dest) {
        size_t pos, pre = 0, count = 0;
        while ( (pos = str.find(dest, pre)) != std::string::npos ) {
            ++count;
            pre = pos + 1;
        }
        return count;
    };
    
    std::cout << occurrences("abc") << std::endl;
    

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 11:48:58

    寫個例子把 例如abcabcabcdsadg裡出現abc的次數

    回覆
    0
  • 怪我咯

    怪我咯2017-04-17 11:48:58

    使用KMP演算法或sunday演算法都可以處理

    回覆
    0
  • 取消回覆