Brauche Hilfe bei Strings



  • Ich hab n relativ einfaches Problem ich will prüfen lassen ob in einem string eine bestimmte zeichenkette vorhanden ist ich hab aber absolut keine ahnung wie die if-bedingung in dem fall aussehen muss.
    Ich hab z.B. ne email und will prüfen ob ein @ und ein punkt vorkommt.

    plz help



  • std::string email_string = "foobar@email.com";
    if ( email_string.find("@") != std::string::npos && email_string.find(".") != std::string::npos)
    {
      std::cout << "Could be a valid email adress!" << std::endl;
    }
    else
    {
      std::cout << "Not a valid email adress!" << std::endl;
    }
    


  • Genau weiß ich das auch nicht , aber mit Platzhaltern ich glaube * für beliebig viele Zeichen.

    *@*.* oder so etwas.



  • #include <iostream> 
    #include<string>
    using namespace std;
    
    int main()
    {
    string string="aaaaaa@.com";
    int i=0;
    while(string[i])
    {
    	if(string[i]=='.'){cout<<"Es gibt \".\" "<<endl;}
    	if(string[i]=='@'){cout<<"Es gibt \"@\" "<<endl;}
    	i++;
    
    };
      return 0;
    }
    


  • bigborre schrieb:

    Genau weiß ich das auch nicht , aber mit Platzhaltern ich glaube * für beliebig viele Zeichen.

    *@*.* oder so etwas.

    Das hört sich für mich nach RegEx (Reguläre Ausdrücke) an. Dafür gibt es standard mässig bei C++ nichts, aber boost::regex könnte dir evtl. da weiter helfen.

    MFG


Log in to reply