PLZ aus String in neue Variable speichern
-
Ich muss danach ja auch nicht weiter. Ich will ja nur die PLZ, alles andere hab ich ja schon.
Kann ich reguläre Ausdrücke oder diese Token auch mit s.find() einsetzen?
-
Da hast du es doch schon fast:
Kalif schrieb:
int begin=s.find("E-Mail: ",0)+8;
int end=s.find(" Internet:",0);
subEmail=s.substr(begin,end-begin);Der zweite Parameter bei find gibt an, ab welcher Stelle er suchen soll.
- Lies eine Zeile ein.
- Dann such nach dem ersten Leerzeichen (int begin=s.find(" ",0); )
- Such nach dem zweiten Leerzeichen (int end=s.find(" ", begin+1); )
- Lies den Substring dazwischen aus (sub=s.substr(begin,end-begin); )
- Überprüfe mit Length(), ob der Substring 5stellig ist.
- Falls ja, dann überprüfe jede der 5 Stellen, ob es eine Zahl ist (mit IsDigit() oder 0<=Zeichen_an_jeder_der_5_Stellen<=9).
- Falls ja, dann ist es schon sehr wahrscheinlich eine Postleitzahl, könnte aber auch eine Telefonnummer sein, dann könntest du z.B. überprüfen, ob zwei Stellen vor diesem Substring eine ) steht (wie bei der Vorwahl) oder sonst noch weitere Kriterien überprüfen, die eine PLZ ausschliessen.
- Mach das für alle Substrings zwischen zwei Leerzeichen für die gesamte Zeile.Geht aber sicherlich auch eleganter!
P.S.:
Alles ungetestet aus dem Kopf, kann Spuren von Fehlern enthalten.