Heim > Artikel > Backend-Entwicklung > Reduziert eine Zeichenfolge auf eine gültige Mindestlänge für eine E-Mail-Adresse, indem die angegebene Teilzeichenfolge ersetzt wird
In dieser Frage erhalten wir eine E-Mail-Zeichenfolge mit den Wörtern „Punkt“ und „at“. Wir müssen sie durch „.“ und „@“-Zeichen ersetzen.
Hinweis – Eine gültige E-Mail-Adresse sollte nur ein „@“-Zeichen enthalten. Es sollte das Zeichen „@“ vor jedem Präfix und den Domänennamen danach enthalten. Darüber hinaus können gültige E-Mails mehrere „.“-Zeichen enthalten. Darüber hinaus sollten die Zeichen „@“ und „.“ nicht am Anfang oder Ende der E-Mail-Adresse stehen.
Problemstellung – Bei einer gegebenen Zeichenfolge str, die eine E-Mail-Adresse enthält, beträgt die Länge der Zeichenfolge N. Wir müssen die Zeichenfolge kürzen, indem wir „at“ durch das Zeichen „@“ und „Punkt“ durch das Zeichen „.“ ersetzen.
Geben Sie -str=“contactattutorialspointdotcom“
einAusgabe – contact@tutorialspoint.com
Hinweise – Wir haben das „at“ und den Punkt durch die Zeichen „@“ und „.“ ersetzt.
Geben Sie – str = „atatgmaildotcom“
einAusgabe – at@gmail.com
Notizen– E-Mails dürfen nur ein „@“ enthalten und dürfen es nicht am Anfang haben, daher sieht die Ausgabe wie oben aus
Bei dieser Methode prüfen wir, ob die E-Mail die Teilzeichenfolge „at“ oder „dot“ des aktuellen Zeichens enthält. Wir können es durch „@“- und „.“-Zeichen ersetzen.
Variable „len“ definieren und die Länge der Variablen speichern.
Definieren Sie die Variable „minStr“ und initialisieren Sie sie mit dem ersten Zeichen der Originalzeichenfolge
Definieren Sie die Variable „I“ und initialisieren Sie sie zur Verwendung in der Schleife auf 1. Definieren Sie außerdem die Variable „isAtIncluded“ und initialisieren Sie sie auf „false“, um zu verfolgen, ob das „@“-Zeichen in der Zeichenfolge einmal enthalten war.
Beginnen Sie mit der Verwendung einer Schleife zum Durchlaufen von Zeichenfolgen.
Wenn i
Andernfalls, wenn ich
Andernfalls fügen Sie das aktuelle Zeichen an die MinStr-Zeichenfolge an
Gibt den kleinsten String-Wert zurück.
#include <iostream> #include <iostream> using namespace std; // function to minimize the string by replacing at with @ and dot with '.' string minifyEmail(string original){ string minstr = ""; int len = original.length(); // append the first character to the final string minstr += original[0]; // start index int i = 1; // Check wether at(@) already included or not bool isAtIncluded = false; // travere the string for (int i = 0; i < len; i++){ // at can be replaced at most once if (i < len - 3 && !isAtIncluded && original.substr(i, 2) == "at"){ // add '@' to minstr minstr += '@'; // Update isAtIncluded isAtIncluded = true; i++; } // If current substring found dot else if (i < len - 4 && original.substr(i, 3) == "dot"){ // add '.' to minstr minstr += '.'; i += 2; } else { minstr += original[i]; } } return minstr; } int main(){ string original = "contactattutorialspointdotcom"; cout << "The string after minifying in the proper original format is " << minifyEmail(original); }
The string after minifying in the proper original format is ccontact@tutorialspoint.com
Zeitkomplexität – O(N), da wir über die Zeichenfolge iterieren.
Raumkomplexität – O(N), weil wir komprimierte Zeichenfolgen speichern.
Im obigen Code hängen wir immer das erste Zeichen an die Minstr-Zeichenfolge an. Daher werden am Anfang niemals „@“- oder „.“-Zeichen hinzugefügt. Darüber hinaus können Benutzer die Methode „replace()“ verwenden, um „Punkt“ durch „.“ und „at“ durch „@“-Zeichen zu ersetzen. Programmierer müssen jedoch sicherstellen, dass der Zeichenfolge nur ein einziges „@“-Zeichen hinzugefügt wird.
Das obige ist der detaillierte Inhalt vonReduziert eine Zeichenfolge auf eine gültige Mindestlänge für eine E-Mail-Adresse, indem die angegebene Teilzeichenfolge ersetzt wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!