首页 > 解决方案 > 是否可以在 std 中实现 find insensitive ?

问题描述

我很好奇我是否可以实现类似findin的功能std :: string来搜索不敏感。

下面的函数觉得不敏感我想这样调用这个函数:

    int main()
    {
        std::string s1 = "do SoMething";
        std::string s2 = "something";
        auto found = s1.findCaseInsensitive(s2);
    //or 
        auto found  = std::findCaseInsensitive(s1,s2);
    }
    size_t findCaseInsensitive(std::string data, std::string toSearch)
    {
        std::transform(data.begin(), data.end(), data.begin(), ::tolower);
        std::transform(toSearch.begin(), toSearch.end(), toSearch.begin(), ::tolower);
        return data.find(toSearch);
    }



    namespace std{

    //...

    }

标签: c++stringnamespacesfindstd

解决方案


推荐阅读