c++ string example - Überprüfen Sie, ob eine Zeichenfolge in C ++ eine Zeichenfolge enthält





4 Answers

Sie können versuchen, die std::string::find verwenden:

string str ("There are two needles in this haystack.");
string str2 ("needle");

if (str.find(str2) != string::npos) {
//.. found.
} 
funktionen variable include

Ich habe eine Variable vom Typ String. Ich möchte überprüfen, ob es eine bestimmte Zeichenfolge enthält. Wie würde ich das tun?

Gibt es eine Funktion, die true zurückgibt, wenn die Zeichenfolge gefunden wird, und false, wenn dies nicht der Fall ist?




Du kannst es versuchen

string s1 = "Hello";
string s2 = "el";
if(strstr(s1.c_str(),s2.c_str()))
{
   cout << " S1 Contains S2";
}



Dies ist eine einfache Funktion

bool find(string line, string sWord)
{
    bool flag = false;
    int index = 0, i, helper = 0;
    for (i = 0; i < line.size(); i++)
    {
        if (sWord.at(index) == line.at(i))
        {
            if (flag == false)
            {
                flag = true;
                helper = i;
            }
            index++;
        }
        else
        {
            flag = false;
            index = 0;
        }
        if (index == sWord.size())
        {
            break;
        }
    }
    if ((i+1-helper) == index)
    {
        return true;
    }
    return false;
}



#include <algorithm>        // std::search
#include <string>
using std::search; using std::count; using std::string;

int main() {
    string mystring = "The needle in the haystack";
    string str = "needle";
    string::const_iterator it;
    it = search(mystring.begin(), mystring.end(), 
                str.begin(), str.end()) != mystring.end();

    // if string is found... returns iterator to str's first element in mystring
    // if string is not found... returns iterator to mystring.end()

if (it != mystring.end())
    // string is found
else
    // not found

return 0;
}



Related


Tags

c++   string