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

Reduziert eine Zeichenfolge auf eine gültige Mindestlänge für eine E-Mail-Adresse, indem die angegebene Teilzeichenfolge ersetzt wird

PHPz
PHPznach vorne
2023-09-06 11:01:06571Durchsuche

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.

Beispiel

Geben Sie -str=“contactattutorialspointdotcom“

ein

Ausgabe – contact@tutorialspoint.com

Hinweise – Wir haben das „at“ und den Punkt durch die Zeichen „@“ und „.“ ersetzt.

Geben Sie – str = „atatgmaildotcom“

ein

Ausgabe – 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

Methode 1

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.

Algorithmus

  • 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.

Beispiel

#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);
}

Ausgabe

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen