繁体   English   中英

如何在集合的特定字符串中查找子字符串

[英]How to Find a Substring in a Particular String in a Set

如何在集合中的字符串中找到子字符串? 例如,如果我输入“Ville”,那么会找到 Louisville、Gainesville 和 Muellerville? 我试过下面的代码

for(string const& search : cities)
{
if(find(search.begin(), search.end(), str) != std::string::npos)
{
string y = search;
employees.emplace_back(y);

,但我无法弄清楚我的语法有什么问题。 此代码用于以下项目( 项目代码

编辑:我的问题很简单,并通过使用 .begin() 和 .end() 来迭代 multimap name_address 并使用 .substr 查找每个名称来解决。 我还使用了多图而不是集合。 我发现语法更容易并开始工作。

    for(auto it = name_address.begin(); it != name_address.end(); ++it)
    {

        for(int i = 0; i < it->first.length(); ++i)
        {   
            string tmpstr3 = it->first.substr(0 + i, str.length());
            if(str == tmpstr3)
            {
               employees.insert(it->second);
               break;
            }
        }
    }   

您可能正在寻找

if (search.find(str) != std::string::npos)

您不应该编译std::find调用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM