String erste Zahl mit LKZ auslesen lassen

d_whiite

Aktives Mitglied
Hallo Leute ich versuche schon ne weile bei meinem String alle LKZ mit dem ersten Zahl (ist die Zone sozusagen) auszulesen jedoch weis ich nicht welches vorgehen ich machen soll kann mir jemand weiterhelfen . Ich habe es mal mit Substring versucht jedoch geht es nicht meiner Meinung nach für das ganze String. Vielen dank schon im voraus und liebe grüße 🙂
mein String wäre :
Code:
String Länderzonen= "A Afghanistan AF 8 - 4 Int\n" +
"Ägypten EG 6 4-6 2 Int\n" +
"Albanien AL 3 - 1 Int\n" +
"Algerien DZ 6 4-7 1 Int\n" +
"Andorra AD 2 3-4 1 Int\n" +
"Angola AO 8 - 4 Int\n" +
"Anguilla AI 8 - 3 Int\n" +
"Antigua und\n" +
"Barbuda\n" +
"\n" +
"AG 8 - 3 Int\n" +
"\n" +
"Antillen (NL)\n" +
"aufgelöst\n" +
"\n" +
"AN 8 - 2 Int\n" +
"Argentinien AR 6 4-7 2 Int\n" +
"Armenien AM 8 - 2 Int\n" +
"Aruba (NL) AW 8 - 2 Int\n" +
"Aserbaidschan AZ 8 - 2 Int\n" +
"Äthiopien ET 8 - 2 Int\n" +
"Australien AU 6 5-8 3 Int\n" +
"B Bahamas BS 8 - 2 Int\n" +
"Bahrain BH 6 4-5 2 Int\n" +
"Bangladesch BD 8 - 2 Int\n" +
"Barbados BB 8 - 2 Int\n" +
"Belgien BE 1 1-2 1   ✓ Eu\n" +
"Belize BZ 8 - 3 Int\n" +
"Benin BJ 7 5-7 2 Int\n" +
"Bermuda BM 8 - 2 Int\n" +
"BES-Inseln (NL):\n" +
"Bonaire, Saba,\n" +
"Sint Eustatius\n" +
"\n" +
"BQ 8 - 2 Int\n" +
"Bhutan BT 8 - 4 Int\n" +
"Bolivien BO 7 6-8 4 Int\n" +
"Bosnien und\n" +
"Herzegowina\n" +
"\n" +
"BA 1 4-7 1 Eu\n" +
"Botswana BW 8 - 3 Int\n" +
"Brasilien BR 6 4-8 2 Int\n" +
"Brunei Darussalam BN 6 5-6 3 Int\n" +
"Bulgarien BG 1 3-5 1 ✓ Eu\n" +
"Burkina Faso BF 7 5-7 3 Int\n" +
"\n" +
"Classic\n" +
"Service\n" +
"Express\n" +
"Service\n" +
"\n" +
"Land\n" +
"\n" +
"Code\n" +
"Zone\n" +
"DPD CLASSIC\n" +
"Guarantee\n" +
"2\n" +
"DPD\n" +
"EXPRESS\n" +
"3\n" +
"DPD 12:00\n" +
"4\n" +
"DPD 10:00\n" +
"4\n" +
"\n" +
"Insel-/Area-\n" +
"Zuschlag\n" +
"\n" +
"5\n" +
"EU-Zollgebiet\n" +
"6\n" +
"Preisliste\n" +
"Burundi BI 8 - 3 Int\n" +
"C\n" +
"Ceuta und Melilla\n" +
"(PLZ 51 + 52)\n" +
"\n" +
"ES 3 5-6 3 ✓ Int\n" +
"Chile CL 6 4-7 2 Int\n" +
"China CN 5 4-9 2 Int\n" +
"Cook Inseln CK 8 - 4 Int\n" +
"Costa Rica CR 8 - 2 Int\n" +
"Curacao (NL) CW 8 - 2 Int\n" +
"D Dänemark DK 1 1-2  1  ✓ Eu\n" +
"Dom. Republik DO 8 - 3 Int\n" +
"Dominica DM 8 - 3 Int\n" +
"Dschibuti DJ 8 - 3 Int\n" +
"E Ecuador EC 7 5-7 2 Int\n" +
"El Salvador SV 8 - 2 Int\n" +
"Elfenbeinküste CI 7 5-7 2 Int\n" +
"Eritrea ER 8 - 3 Int\n" +
"Estland EE 1 3-4  1  ✓ Eu\n" +
"F Falklandinseln FK 8 - 6 Int\n" +
"Färöer Inseln FO 3 - 3  Int\n" +
"Fidschi FJ 8 - 4 Int\n" +
"Finnland\n" +
"(inkl. Aland Inseln)\n" +
"\n" +
"FI 1 3-6  1  ✓ Eu\n" +
"\n" +
"Frankreich\n" +
"(inkl. Korsika)\n" +
"\n" +
"FR 1 1-3  1  ✓ Eu\n" +
"\n" +
"Franz.-Polynesien\n" +
"(F)\n" +
"\n" +
"PF 8 - 3 Int\n" +
"G Gabun GA 8 - 2 Int\n" +
"Gambia GM 8 - 3 Int\n" +
"Georgien GE 8 - 2 Int\n" +
"Ghana GH 7 4-7 2 Int\n" +
"Gibraltar GI 3 - 2 ✓ Int\n" +
"Grenada GD 8 - 3 Int\n" +
"Griechenland GR 1 4-7 1  ✓ Eu\n" +
"Grönland GL 8 - 2  ✓ Int\n" +
"Großbritannien\n" +
"(inkl. Nordirland)\n" +
"\n" +
"GB 1 2-3  1  ✓ Eu\n" +
"Guadeloupe (F) GP 7 5-6 2 ✓ Int"
 
Zuletzt bearbeitet von einem Moderator:
Du möchtest also alle Vorkommen von zwei Buchstaben und darauffolgender Zahl haben?
Am ehesten dürfte das mit Regulären Ausdrücken gehen, falls dir da ein Stichwort reicht
 
ja also mit regulären Ausdrücken habe ich es versucht so dass dann [0-9] wäre aber dann nimmt er ja auch die anderen Zahlen oder wie würde es gehen, dass er die erste Zahl nimmt und den rest in der Zeile weg lässt ?
 
Wenn du nur auf Zahlen mit dem Ausdruck suchst bekommst du natürlich nur alle Zahlen.
Du solltest einen Ausdruck nehmen, der auf Zwei Zeichen, eine Leerstelle und eine Zahl matched 😉
 
Kannst du mir weiterhelfen wie es dann aussehen müsste mit den regulären Ausdruck hab schon zick tausend wege versucht jedoch bin nicht zu einem Ergebnis gekommen 🙁
 
wie muss ich es dann machen ein " " dazwischen ? Und reicht es dann aus denn mein Bedenken ist, dass wenn ich es so mache der erste große Buchstabe genommen wird z.B A Afghanistan AF 8 - 4 Int\n" +
wird dann nicht das A A genommen ? dankee 🙂
 
also ich habe es so gemacht
Java:
String pattern = "[A-Z][A-Z] \\d";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(zonenString);
while (m.find()){
  System.out.println(m.group());
}
und kriege das hier ausgegeben:
Code:
AF 8
EG 6
AL 3
DZ 6
AD 2
AO 8
AI 8
AG 8
AN 8
AR 6
AM 8
AW 8
AZ 8
ET 8
AU 6
BS 8
BH 6
BD 8
BB 8
BE 1
BZ 8
BJ 7
BM 8
BQ 8
BT 8
BO 7
BA 1
BW 8
BR 6
BN 6
BG 1
BF 7
PD 1
PD 1
BI 8
LZ 5
ES 3
CL 6
CN 5
CK 8
CR 8
CW 8
DK 1
DO 8
DM 8
DJ 8
EC 7
SV 8
CI 7
ER 8
EE 1
FK 8
FO 3
FJ 8
FI 1
FR 1
PF 8
GA 8
GM 8
GE 8
GH 7
GI 3
GD 8
GR 1
GL 8
GB 1
GP 7
jedoch fällt mir grad auf, dass ich die Zahl zuerst brauche also z.B 7 GP wie könnte ich das machen 🙁
danke im Voraus
 
Zuletzt bearbeitet von einem Moderator:
So bitte wenn du Code oder WoT hier einfügst, dann bitte Code-Tags verwenden [code=java]//JAVA CODE HERE[/code]

Achja du könntest in deinem Regex noch Groups einführen:
Java:
String pattern = "([A-Z][A-Z]) (\\d)";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(zonenString);
while (m.find()){
  System.out.println(m.group(2) + " " + m.group(1));
}
 
Hi Leute, ich habe jz noch ein Problem und weis nicht wie ich es lösen kann.
Aktuell erscheinen alle LKZ mit den Zonen jedoch soll jz von einem anderen String (String allePlz bei dem sind von allen Ländern die korrekte Postleitzahl Bereiche) die PLZ Bereiche mit zu den LKZ+Zone hinzugefügt werden.
Meine ersten Gedanken waren so, dass ich von dem allePlzString mit regulären Ausdruck den LKZ nehme und bei dem zonenString nach dem LKZ prüfe also zur Verständnis: if (zonenString.group(1).equals(allePlzString.group(1)) dann soll er von dem zonenString die Zone und LKZ nehmen und von dem allePlz den PLZ Bereich. Hoffe ihr versteht mein Problem.
Viele Grüße 🙂
 
Ich versteh da nur Bahnhof.

Generell: Nutz passende Datenstrukturen dafür, und hantier nicht mit den rohen Strings rum
 
Also eigentlich ist meine allgemeine Frage:
ich hol von zwei String mit dem regulärem Ausdruck etwas raus z.B von beidem String den LKZ: DE.
Kann ich das dann miteinander prüfen ob es das gleiche ist also mit equals beispielsweise also dann würde ich halt falls es das gleiche eine Anweisung geben
 
Java:
//
if(m.group(1).equals(Plzm.group(1))){
               System.out.println("TEST");
           }

ich habe es so gemacht jedoch kommt dann die Fehlermeldung:

Exception in thread "main" java.lang.IllegalStateException: No match found
at java.util.regex.Matcher.group(Matcher.java:536)
at tarifwerk_1.Länder.main(Länder.java:489)
 
Weißt du, viele deiner Fehler kann man beheben, indem man ordentliche Klassen nimmt! Dann arbeitet man nicht mit Strings - so wie es auch schon früher vorgeschlagen wurde - sondern mit geparsten Werten.
Also meine Frage, bevor ich entscheide, ob ich hier raus bin: Warum verwendest du keine Klassen?
 
Ich weis nicht wie ich es mit dem Regulären Ausdruck in einer Klasse machen muss, da ich davor mit Regex so gut wie nie etwas gemacht habe.
 
Ich weis nicht wie ich es mit dem Regulären Ausdruck in einer Klasse machen muss, da ich davor mit Regex so gut wie nie etwas gemacht habe.
Eben gar nicht mehr! Du bekommst von irgendwo deine Daten her und die parst du dann (lass es mit Regex sein oder händisch).
Wie liegen denn deine Daten vor? Woher beziehst du diese?
 
Also die Daten sind halt die zwei Strings wobei der eine wo die korrekten PLZ Bereiche stehen ist immer gleich nur der andere String mit dem LKZ und Zone kann sich ändern.Ich versteh nicht wie ich es dann parsen kann
 
Regex funktionieren auch nur auf "strukturierten" Strings. Du solltest mal überlegen was du alles aus dem String brauchst und wie du ihn evtl. normalisieren kannst.
 
wäre so in die Richtung ?
Java:
//
   public String methode (String unformatedString){
        String neuenString = unformatedString.replaceAll("GG/\n","").replaceAll("JE\n","JE ")
                            .replaceAll("IC/\n","").replaceAll("ES\n","ES ");
            String pattern = "([A-Z][A-Z]) (\\d )";
        Pattern p = Pattern.compile(pattern);
        Matcher m = p.matcher(neuenString);
           while (m.find()){
            
               System.out.println(m.group(2)+";"+m.group(1)+";0;9999");
           }
              

                    return unformatedString; 
           }
 
Ok. Woher kommt dann die zweite Liste mit denen du dann vegleichen möchtest und wie sieht die dann aus? Was soll dann als Ergebnis erscheinen?
 
die zweite Liste ist so die allgemeine korrekt PLZ Bereiche die würde so aussehen:
Java:
//
String Zonen="AT;0;9999;EU;ÖSTERREICH\n" +
"BA;0;99999;EU;BOSNIEN-HERZEGOWINA\n" +
"BE;0;9999;EU;BELGIEN\n" +
"BG;0;9999;EU;BULGARIEN\n" +
"CZ;0;999999;EU;TSCHECHISCHE REPUBLIK\n" +
"DE;0;99999;EU;DEUTSCHLAND\n" +
"DK;0;9999;EU;DÄNEMARK\n" +
"EE;0;99999;EU;ESTLAND\n" +
"ES;0;99999;EU;SPANIEN\n" +
"FI;0;99999;EU;FINNLAND\n" +
"FR;0;99999;EU;FRANKREICH\n" +
"GB;0;ZZZZZZZZ;EU;GROSSBRITANNIEN\n" +
"GG;0;ZZZZZZZZ;EU;GUERNSEY / GROSSBRITANNIEN\n" +
"GR;0;999999;EU;GRIECHENLAND\n" +
"HR;0;99999;EU;KROATIEN\n" +
"HU;0;9999;EU;UNGARN\n" +
"IE;0;ZZZZZZZZ;EU;IRLAND\n" +
"IM;0;ZZZZZZZZ;EU;ISLE OF MAN / GROSSBRITANNIEN\n" +
"IS;0;999;EU;ISLAND\n" +
"IT;0;99999;EU;ITALIEN\n" +
"JE;0;ZZZZZZZZ;EU;JERSEY / GROSSBRITANNIEN\n" +
"LT;0;ZZZZZZZZ;EU;LITAUEN\n" +
"LU;0;9999;EU;LUXEMBURG\n" +
"LV;0;ZZZZZZZ;EU;LETTLAND\n" +
"MC;0;99999;EU;MONACO\n" +
"NL;0;ZZZZZZZ;EU;NIEDERLANDE\n" +
"NO;0;9999;EU;NORWEGEN\n" +
"PL;0;999999;EU;POLEN\n" +
"PT;0;99999999;EU;PORTUGAL\n" +
"RO;0;999999;EU;RUMÄNIEN\n" +
"RS;0;99999;EU;SERBIEN\n" +
"SE;0;999999;EU;SCHWEDEN\n" +
"SI;0;9999;EU;SLOWENIEN\n" +
"SK;0;999999;EU;SLOWAKEI\n" +
"VA;0;99999;EU;VATIKANSTADT\n" +
"AD;0;ZZZZZ;WW;ANDORRA\n" +
"AE;0;99999;WW;VEREINIGTE ARABISCHE EMIRATE\n" +
"AF;0;9999;WW;AFGHANISTAN\n" +
"AG;0;99999;WW;ANTIGUA UND BARBUDA\n" +
"AI;0;ZZZZZZZ;WW;ANGUILLA\n" +
"AL;0;9999;WW;ALBANIEN\n" +
"AM;0;9999;WW;ARMENIEN\n" +
"AN;0;ZZZZZZZ;WW;NIEDERLÄNDISCHE ANTILLEN\n" +
"AO;0;99999;WW;ANGOLA\n" +
"AQ;0;ZZZZZZZZ;WW;ANTARKTIKA\n" +
"AR;0;ZZZZZZZZ;WW;ARGENTINIEN\n" +
"AS;0;ZZZZZZZZZZ;WW;AMERIKANISCH-SAMOA\n" +
"AU;0;9999;WW;AUSTRALIEN\n" +
"AW;0;ZZZZZZZ;WW;ARUBA\n" +
"AX;0;ZZZZZZZZ;WW;ALAND INSELN\n" +
"AZ;0;ZZZZZZ;WW;ASERBAIDSCHAN\n" +
"BB;0;ZZZZZZZ;WW;BARBADOS\n" +
"BD;0;9999;WW;BANGLADESCH\n" +
"BF;0;99999;WW;BURKINA FASO\n" +
"BH;0;9999;WW;BAHRAIN\n" +
"BI;0;99999;WW;BURUNDI\n" +
"BJ;0;99999;WW;BENIN\n" +
"BL;0;99999;WW;SAINT BARTHOLEMY\n" +
"BM;0;ZZZZZ;WW;BERMUDA\n" +
"BN;0;ZZZZZZ;WW;BRUNEI\n" +
"BO;0;99999;WW;BOLIVIEN\n" +
"BQ;0;ZZZZZZZ;WW;BONAIRE-SABA-SINT EUSTATIUS\n" +
"BR;0;999999999;WW;BRASILIEN\n" +
"BS;0;99999;WW;BAHAMAS\n" +
"BT;0;99999;WW;BHUTAN\n" +
"BV;0;9999;WW;BOUVETINSEL\n" +
"BW;0;99999;WW;BOTSUANA\n" +
"BY;0;999999;WW;WEISSRUSSLAND (BELARUS)\n" +
"BZ;0;99999;WW;BELIZE\n" +
"CA;0;ZZZZZZZ;WW;KANADA\n" +
"CC;0;9999;WW;KOKOS INSELN\n" +
"CD;0;99999;WW;DEMOKRATISCHE REPUBLIK KONGO\n" +
"CF;0;99999;WW;ZENTRALAFRIKANISCHE REPUBLIK\n" +
"CG;0;99999;WW;KONGO\n" +
"CH;0;9999;WW;SCHWEIZ\n" +
"CI;0;99999;WW;ELFENBEINKÜSTE\n" +
"CK;0;9999999;WW;NEUSEELÄNDISCH-OZEANIEN\n" +
"CL;0;99999999;WW;CHILE\n" +
"CM;0;99999;WW;KAMERUN\n" +
"CN;0;999999;WW;CHINA\n" +
"CO;0;999999;WW;KOLUMBIEN\n" +
"CR;0;99999;WW;COSTA RICA\n" +
"CU;0;99999;WW;KUBA\n" +
"CV;0;9999;WW;KAP VERD\n" +
"CW;0;ZZZZZZZ;WW;CURACAO\n" +
"CX;0;9999;WW;WEIHNACHTSINSEL\n" +
"CY;0;9999;WW;ZYPERN\n" +
"DJ;0;99999;WW;DSCHIBUTI\n" +
"DM;0;99999;WW;DOMINICA\n" +
"DO;0;99999;WW;DOMINIKANISCHE REPUBLIK\n" +
"DZ;0;99999;WW;ALGERIEN\n" +
"EC;0;999999;WW;ECUADOR\n" +
"EG;0;99999;WW;ÄGYPTEN\n" +
"EH;0;99999;WW;WESTSAHARA\n" +
"ER;0;99999;WW;ERITREA\n" +
"ET;0;9999;WW;ÄTHIOPIEN\n" +
"FJ;0;99999;WW;FIDSCHI\n" +
"FK;0;ZZZZZZZZ;WW;FALKLANDINSELN UND ZUG.GEBIETE\n" +
"FM;0;ZZZZZZZZZZ;WW;MIKRONESIEN\n" +
"FO;0;999;WW;FÄROER\n" +
"GA;0;99999;WW;GABUN\n" +
"GD;0;99999;WW;GRENADA\n" +
"GE;0;9999;WW;GEORGIEN\n" +
"GF;0;ZZZZZ;WW;FRANZÖSISCH-GUAYANA\n" +
"GH;0;99999;WW;GHANA\n" +
"GI;0;ZZZZZZZZ;WW;GIBRALTAR\n" +
"GL;0;9999;WW;GRÖNLAND\n" +
"GM;0;99999;WW;GAMBIA\n" +
"GN;0;999;WW;GUINEA\n" +
"GP;0;99999;WW;GUADELOUPE\n" +
"GQ;0;99999;WW;ÄQUATORIALGUINEA\n" +
"GS;0;ZZZZZZZZ;WW;SÜDGEORGIEN UND DIE SÜDLICHEN SANDWICHINSELN\n" +
"GT;0;99999;WW;GUATEMALA\n" +
"GU;0;9999999999;WW;GUAM\n" +
"GW;0;9999;WW;GUINEA-BISSAU\n" +
"GY;0;99999;WW;GUYANA\n" +
"HK;0;99999;WW;HONGKONG\n" +
"HM;0;9999;WW;HEARD UND MCDONALDINSELN\n" +
"HN;0;ZZZZZZZ;WW;HONDURAS\n" +
"HT;0;9999;WW;HAITI\n" +
"IC;0;99999;WW;KANARISCHE INSELN\n" +
"ID;0;99999;WW;INDONESIEN\n" +
"IL;0;9999999;WW;ISRAEL\n" +
"IN;0;9999999;WW;INDIEN\n" +
"IO;0;ZZZZZZZZ;WW;BR. GEBIETE IM INDISCHEN OZEAN\n" +
"IQ;0;99999;WW;IRAK\n" +
"IR;0;9999999999;WW;IRAN\n" +
"JM;0;99;WW;JAMAIKA\n" +
"JO;0;99999;WW;JORDANIEN\n" +
"JP;0;99999999;WW;JAPAN\n" +
"KE;0;99999;WW;KENIA\n" +
"KG;0;999999;WW;KIRGISISTAN\n" +
"KH;0;99999;WW;KAMPUTSCHEA (KAMBODSCHA)\n" +
"KI;0;99999;WW;KIRIBATI\n" +
"KM;0;99999;WW;KOMOREN\n" +
"KN;0;99999;WW;ST.CHRISTOPH UND NEVIS\n" +
"KP;0;99999;WW;KOREA, DEMOKRAT. VOLKSREPUBLIK\n" +
"KR;0;99999;WW;KOREA, REPUBLIK\n" +
"KW;0;99999;WW;KUWAIT\n" +
"KY;0;ZZZZZZZZ;WW;KAIMANINSELN\n" +
"KZ;0;999999;WW;KASACHSTAN\n" +
"LA;0;99999;WW;LAOS\n" +
"LB;0;999999999;WW;LIBANON\n" +
"LC;0;ZZZZZZZZ;WW;ST.LUCIA\n" +
"LI;0;9999;WW;LIECHTENSTEIN\n" +
"LK;0;99999;WW;SRI LANKA (CEYLON)\n" +
"LR;0;9999;WW;LIBERIA\n" +
"LS;0;999;WW;LESOTHO\n" +
"LY;0;99999;WW;LIBYEN\n" +
"MA;0;99999;WW;MAROKKO\n" +
"MD;0;ZZZZZZZ;WW;MOLDAWIEN\n" +
"ME;0;99999;WW;MONTENEGRO\n" +
"MF;0;99999;WW;SAINT MARTIN\n" +
"MG;0;999;WW;MADAGASKAR\n" +
"MH;0;ZZZZZZZZZZ;WW;MARSHALL-INSELN\n" +
"MK;0;9999;WW;MAZEDONIEN, EHEM. JUGOSL. REP.\n" +
"ML;0;99999;WW;MALI\n" +
"MM;0;99999;WW;MYANMAR\n" +
"MN;0;999999;WW;MONGOLEI\n" +
"MO;0;99999;WW;MACAU\n" +
"MP;0;ZZZZZZZZZZ;WW;NÖRDLICHE MARIANEN\n" +
"MQ;0;99999;WW;MARTINIQUE\n" +
"MR;0;99999;WW;MAURETANIEN\n" +
"MS;0;ZZZZZZZZ;WW;MONTSERRAT\n" +
"MT;0;ZZZZZZZZ;WW;MALTA\n" +
"MU;0;99999;WW;MAURITIUS\n" +
"MV;0;99999;WW;MALEDIVEN\n" +
"MW;0;99999;WW;MALAWI\n" +
"MX;0;99999;WW;MEXIKO\n" +
"MY;0;99999;WW;MALAYSIA\n" +
"MZ;0;9999;WW;MOSAMBIK\n" +
"NA;0;99999;WW;NAMIBIA\n" +
"NC;0;99999;WW;NEUKALEDONIEN UND ZUG.GEBIETE\n" +
"NE;0;9999;WW;NIGER\n" +
"NF;0;9999;WW;NORFOLKINSEL\n" +
"NG;0;999999;WW;NIGERIA\n" +
"NI;0;99999;WW;NICARAGUA\n" +
"NP;0;99999;WW;NEPAL\n" +
"NR;0;99999;WW;NAURU\n" +
"NU;0;9999999;WW;NIUE\n" +
"NZ;0;9999;WW;NEUSEELAND\n" +
"OM;0;999;WW;OMAN\n" +
"PA;0;9999;WW;PANAMA\n" +
"PE;0;99999;WW;PERU\n" +
"PF;0;ZZZZZ;WW;FRANZÖSISCH-POLYNESIEN\n" +
"PG;0;999;WW;PAPUA-NEUGUINEA\n" +
"PH;0;9999;WW;PHILIPPINEN\n" +
"PK;0;99999;WW;PAKISTAN\n" +
"PM;0;99999;WW;ST.PIERRE UND MIQUELON\n" +
"PN;0;ZZZZZZZZ;WW;PITCAIRNINSELN\n" +
"PR;0;ZZZZZZZZZZ;WW;PUERTO RICO\n" +
"PS;0;999;WW;PALÄSTINA\n" +
"PW;0;ZZZZZZZZZZ;WW;PALAU\n" +
"PY;0;9999;WW;PARAGUAY\n" +
"QA;0;99999;WW;KATAR\n" +
"RE;0;99999;WW;REUNION\n" +
"RU;0;999999;WW;RUSSLAND\n" +
"RW;0;99999;WW;RUANDA\n" +
"SA;0;9999999999;WW;SAUDI-ARABIEN\n" +
"SB;0;999;WW;SALOMONEN\n" +
"SC;0;99999;WW;SEYCHELLEN UND ZUGEHÖRIGE GEBI\n" +
"SD;0;99999;WW;SUDAN\n" +
"SG;0;999999;WW;SINGAPUR\n" +
"SH;0;ZZZZZZZZ;WW;ST.HELENA UND ZUGEHÖRIGE GEBIE\n" +
"SJ;0;9999;WW;SVALBARD\n" +
"SL;0;99999;WW;SIERRA LEONE\n" +            // ([A-Z][A-Z])([0]) (\p{Nl})
"SM;0;99999;WW;SAN MARINO\n" +
"SN;0;99999;WW;SENEGAL\n" +
"SO;0;ZZZZZZZZ;WW;SOMALIA\n" +
"SR;0;99999;WW;SURINAM\n" +
"SS;0;99999;WW;SÜDSUDAN\n" +
"ST;0;99999;WW;SAO TOME UND PRINCIPE\n" +
"SV;0;9999;WW;EL SALVADOR\n" +
"SX;0;9999;WW;SINT MAARTEN\n" +
"SY;0;99999;WW;SYRIEN\n" +
"SZ;0;ZZZZ;WW;SWASILAND\n" +
"TC;0;ZZZZZZZZ;WW;TURKS UND CAICOSINSELN\n" +
"TD;0;99999;WW;TSCHAD\n" +
"TF;0;99999;WW;FRANZÖSISCHE SÜD- UND ANTARKTISGEBIETE\n" +
"TG;0;99999;WW;TOGO\n" +
"TH;0;99999;WW;THAILAND\n" +
"TJ;0;999999;WW;TADSCHIKISTAN\n" +
"TK;0;9999;WW;TOKELAU\n" +
"TL;0;99999;WW;TIMOR-LESTE (OST)\n" +
"TM;0;999999;WW;TURKMENISTAN\n" +
"TN;0;9999;WW;TUNESIEN\n" +
"TO;0;99999;WW;TONGA\n" +
"TR;0;99999;WW;TÜRKEI\n" +
"TT;0;999999;WW;TRINIDAD UND TOBAGO\n" +
"TV;0;99999;WW;TUVALU\n" +
"TW;0;999999;WW;TAIWAN\n" +
"TZ;0;99999;WW;TANSANIA\n" +
"UA;0;99999;WW;UKRAINE\n" +
"UG;0;99999;WW;UGANDA\n" +
"UM;0;ZZZZZZZZZZ;WW;UNITED STATES MINOR OUTLYING ISLANDS\n" +
"US;0;ZZZZZZZZZZ;WW;USA\n" +
"UY;0;99999;WW;URUGUAY\n" +
"UZ;0;999999;WW;USBEKISTAN\n" +
"VC;0;ZZZZZZ;WW;ST.VINCENT\n" +
"VE;0;ZZZZZZ;WW;VENEZUELA\n" +
"VG;0;ZZZZZZ;WW;JUNGFERNINSELN (BRITISCH)\n" +
"VI;0;ZZZZZZZZZZ;WW;JUNGFERNINSELN (AMERIKANISCH)\n" +
"VN;0;999999;WW;VIETNAM\n" +
"VU;0;99999;WW;VANUATU\n" +
"WF;0;99999;WW;WALLIS UND FUTUNA (F)\n" +
"WS;0;ZZZZZZ;WW;WESTSAMOA\n" +
"YE;0;99999;WW;JEMEN\n" +
"YT;0;99999;WW;MAYOTT\n" +
"ZA;0;9999;WW;SÜDAFRIKA\n" +
"ZM;0;99999;WW;SAMBIA\n" +
"ZW;0;99999;WW;SIMBABWE";

dann müsste von diesem zweiten String die PLZ bereiche gennommen werden also z.B bei Ägypten wäre es 0;99999
also von dem ersten String LKZ Zone z.B EG 6 und von dem anderen PLZ Bereiche 0;99999
 
So hier mal ein Beispiel (kann man viel schöner gestalten!!!!).
Java:
package test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.StringReader;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test {

  public static void main(String... args) {
    Pattern pattern = Pattern.compile("([A-Z]{2})\\s+(\\d)");
    Matcher matcher = pattern.matcher(zones());
    Set<Country> countries = new HashSet<>();
    while(matcher.find()) {
      String tag = matcher.group(1);
      int index = Integer.parseInt(matcher.group(2));
      countries.add(new Country(index, tag));
    }
    System.out.println(countries);

    Set<PostalInformation> postalInformations = new HashSet<>();
    try(StringReader stringReader = new StringReader(postInformation());
    BufferedReader reader = new BufferedReader(stringReader)) {
      String line;
      while((line = reader.readLine()) != null) {
        String[] info = line.split(";");
        String tag = info[0];
        String minZipCode = info[1];
        String maxZipCode = info[2];
        String region = info[3];
        String country = info[4];
        postalInformations.add(new PostalInformation(tag, minZipCode, maxZipCode, region, country));
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
    System.out.println(postalInformations);

    Map<String, PostalInformation> tagged = new HashMap<>();
    for(PostalInformation information : postalInformations) {
      tagged.put(information.getTag(), information);
    }

    for(Country country : countries) {
      System.out.println(country + " - " + tagged.get(country.getTag()));
    }
  }

  private static String zones() {
    return "A Afghanistan AF 8 - 4 Int\n" +
      "Ägypten EG 6 4-6 2 Int\n" +
      "Albanien AL 3 - 1 Int\n" +
      "Algerien DZ 6 4-7 1 Int\n" +
      "Andorra AD 2 3-4 1 Int\n" +
      "Angola AO 8 - 4 Int\n" +
      "Anguilla AI 8 - 3 Int\n" +
      "Antigua und\n" +
      "Barbuda\n" +
      "\n" +
      "AG 8 - 3 Int\n" +
      "\n" +
      "Antillen (NL)\n" +
      "aufgelöst\n" +
      "\n" +
      "AN 8 - 2 Int\n" +
      "Argentinien AR 6 4-7 2 Int\n" +
      "Armenien AM 8 - 2 Int\n" +
      "Aruba (NL) AW 8 - 2 Int\n" +
      "Aserbaidschan AZ 8 - 2 Int\n" +
      "Äthiopien ET 8 - 2 Int\n" +
      "Australien AU 6 5-8 3 Int\n" +
      "B Bahamas BS 8 - 2 Int\n" +
      "Bahrain BH 6 4-5 2 Int\n" +
      "Bangladesch BD 8 - 2 Int\n" +
      "Barbados BB 8 - 2 Int\n" +
      "Belgien BE 1 1-2 1   ✓ Eu\n" +
      "Belize BZ 8 - 3 Int\n" +
      "Benin BJ 7 5-7 2 Int\n" +
      "Bermuda BM 8 - 2 Int\n" +
      "BES-Inseln (NL):\n" +
      "Bonaire, Saba,\n" +
      "Sint Eustatius\n" +
      "\n" +
      "BQ 8 - 2 Int\n" +
      "Bhutan BT 8 - 4 Int\n" +
      "Bolivien BO 7 6-8 4 Int\n" +
      "Bosnien und\n" +
      "Herzegowina\n" +
      "\n" +
      "BA 1 4-7 1 Eu\n" +
      "Botswana BW 8 - 3 Int\n" +
      "Brasilien BR 6 4-8 2 Int\n" +
      "Brunei Darussalam BN 6 5-6 3 Int\n" +
      "Bulgarien BG 1 3-5 1 ✓ Eu\n" +
      "Burkina Faso BF 7 5-7 3 Int\n" +
      "\n" +
      "Classic\n" +
      "Service\n" +
      "Express\n" +
      "Service\n" +
      "\n" +
      "Land\n" +
      "\n" +
      "Code\n" +
      "Zone\n" +
      "DPD CLASSIC\n" +
      "Guarantee\n" +
      "2\n" +
      "DPD\n" +
      "EXPRESS\n" +
      "3\n" +
      "DPD 12:00\n" +
      "4\n" +
      "DPD 10:00\n" +
      "4\n" +
      "\n" +
      "Insel-/Area-\n" +
      "Zuschlag\n" +
      "\n" +
      "5\n" +
      "EU-Zollgebiet\n" +
      "6\n" +
      "Preisliste\n" +
      "Burundi BI 8 - 3 Int\n" +
      "C\n" +
      "Ceuta und Melilla\n" +
      "(PLZ 51 + 52)\n" +
      "\n" +
      "ES 3 5-6 3 ✓ Int\n" +
      "Chile CL 6 4-7 2 Int\n" +
      "China CN 5 4-9 2 Int\n" +
      "Cook Inseln CK 8 - 4 Int\n" +
      "Costa Rica CR 8 - 2 Int\n" +
      "Curacao (NL) CW 8 - 2 Int\n" +
      "D Dänemark DK 1 1-2  1  ✓ Eu\n" +
      "Dom. Republik DO 8 - 3 Int\n" +
      "Dominica DM 8 - 3 Int\n" +
      "Dschibuti DJ 8 - 3 Int\n" +
      "E Ecuador EC 7 5-7 2 Int\n" +
      "El Salvador SV 8 - 2 Int\n" +
      "Elfenbeinküste CI 7 5-7 2 Int\n" +
      "Eritrea ER 8 - 3 Int\n" +
      "Estland EE 1 3-4  1  ✓ Eu\n" +
      "F Falklandinseln FK 8 - 6 Int\n" +
      "Färöer Inseln FO 3 - 3  Int\n" +
      "Fidschi FJ 8 - 4 Int\n" +
      "Finnland\n" +
      "(inkl. Aland Inseln)\n" +
      "\n" +
      "FI 1 3-6  1  ✓ Eu\n" +
      "\n" +
      "Frankreich\n" +
      "(inkl. Korsika)\n" +
      "\n" +
      "FR 1 1-3  1  ✓ Eu\n" +
      "\n" +
      "Franz.-Polynesien\n" +
      "(F)\n" +
      "\n" +
      "PF 8 - 3 Int\n" +
      "G Gabun GA 8 - 2 Int\n" +
      "Gambia GM 8 - 3 Int\n" +
      "Georgien GE 8 - 2 Int\n" +
      "Ghana GH 7 4-7 2 Int\n" +
      "Gibraltar GI 3 - 2 ✓ Int\n" +
      "Grenada GD 8 - 3 Int\n" +
      "Griechenland GR 1 4-7 1  ✓ Eu\n" +
      "Grönland GL 8 - 2  ✓ Int\n" +
      "Großbritannien\n" +
      "(inkl. Nordirland)\n" +
      "\n" +
      "GB 1 2-3  1  ✓ Eu\n" +
      "Guadeloupe (F) GP 7 5-6 2 ✓ Int";
  }

  private static String postInformation() {
    return "AT;0;9999;EU;ÖSTERREICH\n" +
      "BA;0;99999;EU;BOSNIEN-HERZEGOWINA\n" +
      "BE;0;9999;EU;BELGIEN\n" +
      "BG;0;9999;EU;BULGARIEN\n" +
      "CZ;0;999999;EU;TSCHECHISCHE REPUBLIK\n" +
      "DE;0;99999;EU;DEUTSCHLAND\n" +
      "DK;0;9999;EU;DÄNEMARK\n" +
      "EE;0;99999;EU;ESTLAND\n" +
      "ES;0;99999;EU;SPANIEN\n" +
      "FI;0;99999;EU;FINNLAND\n" +
      "FR;0;99999;EU;FRANKREICH\n" +
      "GB;0;ZZZZZZZZ;EU;GROSSBRITANNIEN\n" +
      "GG;0;ZZZZZZZZ;EU;GUERNSEY / GROSSBRITANNIEN\n" +
      "GR;0;999999;EU;GRIECHENLAND\n" +
      "HR;0;99999;EU;KROATIEN\n" +
      "HU;0;9999;EU;UNGARN\n" +
      "IE;0;ZZZZZZZZ;EU;IRLAND\n" +
      "IM;0;ZZZZZZZZ;EU;ISLE OF MAN / GROSSBRITANNIEN\n" +
      "IS;0;999;EU;ISLAND\n" +
      "IT;0;99999;EU;ITALIEN\n" +
      "JE;0;ZZZZZZZZ;EU;JERSEY / GROSSBRITANNIEN\n" +
      "LT;0;ZZZZZZZZ;EU;LITAUEN\n" +
      "LU;0;9999;EU;LUXEMBURG\n" +
      "LV;0;ZZZZZZZ;EU;LETTLAND\n" +
      "MC;0;99999;EU;MONACO\n" +
      "NL;0;ZZZZZZZ;EU;NIEDERLANDE\n" +
      "NO;0;9999;EU;NORWEGEN\n" +
      "PL;0;999999;EU;POLEN\n" +
      "PT;0;99999999;EU;PORTUGAL\n" +
      "RO;0;999999;EU;RUMÄNIEN\n" +
      "RS;0;99999;EU;SERBIEN\n" +
      "SE;0;999999;EU;SCHWEDEN\n" +
      "SI;0;9999;EU;SLOWENIEN\n" +
      "SK;0;999999;EU;SLOWAKEI\n" +
      "VA;0;99999;EU;VATIKANSTADT\n" +
      "AD;0;ZZZZZ;WW;ANDORRA\n" +
      "AE;0;99999;WW;VEREINIGTE ARABISCHE EMIRATE\n" +
      "AF;0;9999;WW;AFGHANISTAN\n" +
      "AG;0;99999;WW;ANTIGUA UND BARBUDA\n" +
      "AI;0;ZZZZZZZ;WW;ANGUILLA\n" +
      "AL;0;9999;WW;ALBANIEN\n" +
      "AM;0;9999;WW;ARMENIEN\n" +
      "AN;0;ZZZZZZZ;WW;NIEDERLÄNDISCHE ANTILLEN\n" +
      "AO;0;99999;WW;ANGOLA\n" +
      "AQ;0;ZZZZZZZZ;WW;ANTARKTIKA\n" +
      "AR;0;ZZZZZZZZ;WW;ARGENTINIEN\n" +
      "AS;0;ZZZZZZZZZZ;WW;AMERIKANISCH-SAMOA\n" +
      "AU;0;9999;WW;AUSTRALIEN\n" +
      "AW;0;ZZZZZZZ;WW;ARUBA\n" +
      "AX;0;ZZZZZZZZ;WW;ALAND INSELN\n" +
      "AZ;0;ZZZZZZ;WW;ASERBAIDSCHAN\n" +
      "BB;0;ZZZZZZZ;WW;BARBADOS\n" +
      "BD;0;9999;WW;BANGLADESCH\n" +
      "BF;0;99999;WW;BURKINA FASO\n" +
      "BH;0;9999;WW;BAHRAIN\n" +
      "BI;0;99999;WW;BURUNDI\n" +
      "BJ;0;99999;WW;BENIN\n" +
      "BL;0;99999;WW;SAINT BARTHOLEMY\n" +
      "BM;0;ZZZZZ;WW;BERMUDA\n" +
      "BN;0;ZZZZZZ;WW;BRUNEI\n" +
      "BO;0;99999;WW;BOLIVIEN\n" +
      "BQ;0;ZZZZZZZ;WW;BONAIRE-SABA-SINT EUSTATIUS\n" +
      "BR;0;999999999;WW;BRASILIEN\n" +
      "BS;0;99999;WW;BAHAMAS\n" +
      "BT;0;99999;WW;BHUTAN\n" +
      "BV;0;9999;WW;BOUVETINSEL\n" +
      "BW;0;99999;WW;BOTSUANA\n" +
      "BY;0;999999;WW;WEISSRUSSLAND (BELARUS)\n" +
      "BZ;0;99999;WW;BELIZE\n" +
      "CA;0;ZZZZZZZ;WW;KANADA\n" +
      "CC;0;9999;WW;KOKOS INSELN\n" +
      "CD;0;99999;WW;DEMOKRATISCHE REPUBLIK KONGO\n" +
      "CF;0;99999;WW;ZENTRALAFRIKANISCHE REPUBLIK\n" +
      "CG;0;99999;WW;KONGO\n" +
      "CH;0;9999;WW;SCHWEIZ\n" +
      "CI;0;99999;WW;ELFENBEINKÜSTE\n" +
      "CK;0;9999999;WW;NEUSEELÄNDISCH-OZEANIEN\n" +
      "CL;0;99999999;WW;CHILE\n" +
      "CM;0;99999;WW;KAMERUN\n" +
      "CN;0;999999;WW;CHINA\n" +
      "CO;0;999999;WW;KOLUMBIEN\n" +
      "CR;0;99999;WW;COSTA RICA\n" +
      "CU;0;99999;WW;KUBA\n" +
      "CV;0;9999;WW;KAP VERD\n" +
      "CW;0;ZZZZZZZ;WW;CURACAO\n" +
      "CX;0;9999;WW;WEIHNACHTSINSEL\n" +
      "CY;0;9999;WW;ZYPERN\n" +
      "DJ;0;99999;WW;DSCHIBUTI\n" +
      "DM;0;99999;WW;DOMINICA\n" +
      "DO;0;99999;WW;DOMINIKANISCHE REPUBLIK\n" +
      "DZ;0;99999;WW;ALGERIEN\n" +
      "EC;0;999999;WW;ECUADOR\n" +
      "EG;0;99999;WW;ÄGYPTEN\n" +
      "EH;0;99999;WW;WESTSAHARA\n" +
      "ER;0;99999;WW;ERITREA\n" +
      "ET;0;9999;WW;ÄTHIOPIEN\n" +
      "FJ;0;99999;WW;FIDSCHI\n" +
      "FK;0;ZZZZZZZZ;WW;FALKLANDINSELN UND ZUG.GEBIETE\n" +
      "FM;0;ZZZZZZZZZZ;WW;MIKRONESIEN\n" +
      "FO;0;999;WW;FÄROER\n" +
      "GA;0;99999;WW;GABUN\n" +
      "GD;0;99999;WW;GRENADA\n" +
      "GE;0;9999;WW;GEORGIEN\n" +
      "GF;0;ZZZZZ;WW;FRANZÖSISCH-GUAYANA\n" +
      "GH;0;99999;WW;GHANA\n" +
      "GI;0;ZZZZZZZZ;WW;GIBRALTAR\n" +
      "GL;0;9999;WW;GRÖNLAND\n" +
      "GM;0;99999;WW;GAMBIA\n" +
      "GN;0;999;WW;GUINEA\n" +
      "GP;0;99999;WW;GUADELOUPE\n" +
      "GQ;0;99999;WW;ÄQUATORIALGUINEA\n" +
      "GS;0;ZZZZZZZZ;WW;SÜDGEORGIEN UND DIE SÜDLICHEN SANDWICHINSELN\n" +
      "GT;0;99999;WW;GUATEMALA\n" +
      "GU;0;9999999999;WW;GUAM\n" +
      "GW;0;9999;WW;GUINEA-BISSAU\n" +
      "GY;0;99999;WW;GUYANA\n" +
      "HK;0;99999;WW;HONGKONG\n" +
      "HM;0;9999;WW;HEARD UND MCDONALDINSELN\n" +
      "HN;0;ZZZZZZZ;WW;HONDURAS\n" +
      "HT;0;9999;WW;HAITI\n" +
      "IC;0;99999;WW;KANARISCHE INSELN\n" +
      "ID;0;99999;WW;INDONESIEN\n" +
      "IL;0;9999999;WW;ISRAEL\n" +
      "IN;0;9999999;WW;INDIEN\n" +
      "IO;0;ZZZZZZZZ;WW;BR. GEBIETE IM INDISCHEN OZEAN\n" +
      "IQ;0;99999;WW;IRAK\n" +
      "IR;0;9999999999;WW;IRAN\n" +
      "JM;0;99;WW;JAMAIKA\n" +
      "JO;0;99999;WW;JORDANIEN\n" +
      "JP;0;99999999;WW;JAPAN\n" +
      "KE;0;99999;WW;KENIA\n" +
      "KG;0;999999;WW;KIRGISISTAN\n" +
      "KH;0;99999;WW;KAMPUTSCHEA (KAMBODSCHA)\n" +
      "KI;0;99999;WW;KIRIBATI\n" +
      "KM;0;99999;WW;KOMOREN\n" +
      "KN;0;99999;WW;ST.CHRISTOPH UND NEVIS\n" +
      "KP;0;99999;WW;KOREA, DEMOKRAT. VOLKSREPUBLIK\n" +
      "KR;0;99999;WW;KOREA, REPUBLIK\n" +
      "KW;0;99999;WW;KUWAIT\n" +
      "KY;0;ZZZZZZZZ;WW;KAIMANINSELN\n" +
      "KZ;0;999999;WW;KASACHSTAN\n" +
      "LA;0;99999;WW;LAOS\n" +
      "LB;0;999999999;WW;LIBANON\n" +
      "LC;0;ZZZZZZZZ;WW;ST.LUCIA\n" +
      "LI;0;9999;WW;LIECHTENSTEIN\n" +
      "LK;0;99999;WW;SRI LANKA (CEYLON)\n" +
      "LR;0;9999;WW;LIBERIA\n" +
      "LS;0;999;WW;LESOTHO\n" +
      "LY;0;99999;WW;LIBYEN\n" +
      "MA;0;99999;WW;MAROKKO\n" +
      "MD;0;ZZZZZZZ;WW;MOLDAWIEN\n" +
      "ME;0;99999;WW;MONTENEGRO\n" +
      "MF;0;99999;WW;SAINT MARTIN\n" +
      "MG;0;999;WW;MADAGASKAR\n" +
      "MH;0;ZZZZZZZZZZ;WW;MARSHALL-INSELN\n" +
      "MK;0;9999;WW;MAZEDONIEN, EHEM. JUGOSL. REP.\n" +
      "ML;0;99999;WW;MALI\n" +
      "MM;0;99999;WW;MYANMAR\n" +
      "MN;0;999999;WW;MONGOLEI\n" +
      "MO;0;99999;WW;MACAU\n" +
      "MP;0;ZZZZZZZZZZ;WW;NÖRDLICHE MARIANEN\n" +
      "MQ;0;99999;WW;MARTINIQUE\n" +
      "MR;0;99999;WW;MAURETANIEN\n" +
      "MS;0;ZZZZZZZZ;WW;MONTSERRAT\n" +
      "MT;0;ZZZZZZZZ;WW;MALTA\n" +
      "MU;0;99999;WW;MAURITIUS\n" +
      "MV;0;99999;WW;MALEDIVEN\n" +
      "MW;0;99999;WW;MALAWI\n" +
      "MX;0;99999;WW;MEXIKO\n" +
      "MY;0;99999;WW;MALAYSIA\n" +
      "MZ;0;9999;WW;MOSAMBIK\n" +
      "NA;0;99999;WW;NAMIBIA\n" +
      "NC;0;99999;WW;NEUKALEDONIEN UND ZUG.GEBIETE\n" +
      "NE;0;9999;WW;NIGER\n" +
      "NF;0;9999;WW;NORFOLKINSEL\n" +
      "NG;0;999999;WW;NIGERIA\n" +
      "NI;0;99999;WW;NICARAGUA\n" +
      "NP;0;99999;WW;NEPAL\n" +
      "NR;0;99999;WW;NAURU\n" +
      "NU;0;9999999;WW;NIUE\n" +
      "NZ;0;9999;WW;NEUSEELAND\n" +
      "OM;0;999;WW;OMAN\n" +
      "PA;0;9999;WW;PANAMA\n" +
      "PE;0;99999;WW;PERU\n" +
      "PF;0;ZZZZZ;WW;FRANZÖSISCH-POLYNESIEN\n" +
      "PG;0;999;WW;PAPUA-NEUGUINEA\n" +
      "PH;0;9999;WW;PHILIPPINEN\n" +
      "PK;0;99999;WW;PAKISTAN\n" +
      "PM;0;99999;WW;ST.PIERRE UND MIQUELON\n" +
      "PN;0;ZZZZZZZZ;WW;PITCAIRNINSELN\n" +
      "PR;0;ZZZZZZZZZZ;WW;PUERTO RICO\n" +
      "PS;0;999;WW;PALÄSTINA\n" +
      "PW;0;ZZZZZZZZZZ;WW;PALAU\n" +
      "PY;0;9999;WW;PARAGUAY\n" +
      "QA;0;99999;WW;KATAR\n" +
      "RE;0;99999;WW;REUNION\n" +
      "RU;0;999999;WW;RUSSLAND\n" +
      "RW;0;99999;WW;RUANDA\n" +
      "SA;0;9999999999;WW;SAUDI-ARABIEN\n" +
      "SB;0;999;WW;SALOMONEN\n" +
      "SC;0;99999;WW;SEYCHELLEN UND ZUGEHÖRIGE GEBI\n" +
      "SD;0;99999;WW;SUDAN\n" +
      "SG;0;999999;WW;SINGAPUR\n" +
      "SH;0;ZZZZZZZZ;WW;ST.HELENA UND ZUGEHÖRIGE GEBIE\n" +
      "SJ;0;9999;WW;SVALBARD\n" +
      "SL;0;99999;WW;SIERRA LEONE\n" +            // ([A-Z][A-Z])([0]) (\p{Nl})
      "SM;0;99999;WW;SAN MARINO\n" +
      "SN;0;99999;WW;SENEGAL\n" +
      "SO;0;ZZZZZZZZ;WW;SOMALIA\n" +
      "SR;0;99999;WW;SURINAM\n" +
      "SS;0;99999;WW;SÜDSUDAN\n" +
      "ST;0;99999;WW;SAO TOME UND PRINCIPE\n" +
      "SV;0;9999;WW;EL SALVADOR\n" +
      "SX;0;9999;WW;SINT MAARTEN\n" +
      "SY;0;99999;WW;SYRIEN\n" +
      "SZ;0;ZZZZ;WW;SWASILAND\n" +
      "TC;0;ZZZZZZZZ;WW;TURKS UND CAICOSINSELN\n" +
      "TD;0;99999;WW;TSCHAD\n" +
      "TF;0;99999;WW;FRANZÖSISCHE SÜD- UND ANTARKTISGEBIETE\n" +
      "TG;0;99999;WW;TOGO\n" +
      "TH;0;99999;WW;THAILAND\n" +
      "TJ;0;999999;WW;TADSCHIKISTAN\n" +
      "TK;0;9999;WW;TOKELAU\n" +
      "TL;0;99999;WW;TIMOR-LESTE (OST)\n" +
      "TM;0;999999;WW;TURKMENISTAN\n" +
      "TN;0;9999;WW;TUNESIEN\n" +
      "TO;0;99999;WW;TONGA\n" +
      "TR;0;99999;WW;TÜRKEI\n" +
      "TT;0;999999;WW;TRINIDAD UND TOBAGO\n" +
      "TV;0;99999;WW;TUVALU\n" +
      "TW;0;999999;WW;TAIWAN\n" +
      "TZ;0;99999;WW;TANSANIA\n" +
      "UA;0;99999;WW;UKRAINE\n" +
      "UG;0;99999;WW;UGANDA\n" +
      "UM;0;ZZZZZZZZZZ;WW;UNITED STATES MINOR OUTLYING ISLANDS\n" +
      "US;0;ZZZZZZZZZZ;WW;USA\n" +
      "UY;0;99999;WW;URUGUAY\n" +
      "UZ;0;999999;WW;USBEKISTAN\n" +
      "VC;0;ZZZZZZ;WW;ST.VINCENT\n" +
      "VE;0;ZZZZZZ;WW;VENEZUELA\n" +
      "VG;0;ZZZZZZ;WW;JUNGFERNINSELN (BRITISCH)\n" +
      "VI;0;ZZZZZZZZZZ;WW;JUNGFERNINSELN (AMERIKANISCH)\n" +
      "VN;0;999999;WW;VIETNAM\n" +
      "VU;0;99999;WW;VANUATU\n" +
      "WF;0;99999;WW;WALLIS UND FUTUNA (F)\n" +
      "WS;0;ZZZZZZ;WW;WESTSAMOA\n" +
      "YE;0;99999;WW;JEMEN\n" +
      "YT;0;99999;WW;MAYOTT\n" +
      "ZA;0;9999;WW;SÜDAFRIKA\n" +
      "ZM;0;99999;WW;SAMBIA\n" +
      "ZW;0;99999;WW;SIMBABWE";
  }
}

class PostalInformation {
  private final String tag;
  private final String minZipCode;
  private final String maxZipCode;
  private final String region;
  private final String country;

  public PostalInformation(String tag, String minZipCode, String maxZipCode, String region, String country) {
    this.tag = tag;
    this.minZipCode = minZipCode;
    this.maxZipCode = maxZipCode;
    this.region = region;
    this.country = country;
  }

  public String getTag() {
    return tag;
  }

  public String getMinZipCode() {
    return minZipCode;
  }

  public String getMaxZipCode() {
    return maxZipCode;
  }

  public String getRegion() {
    return region;
  }

  public String getCountry() {
    return country;
  }

  @Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (!(o instanceof PostalInformation)) return false;
    PostalInformation that = (PostalInformation) o;
    return Objects.equals(minZipCode, that.minZipCode) &&
      Objects.equals(maxZipCode, that.maxZipCode) &&
      Objects.equals(tag, that.tag) &&
      Objects.equals(region, that.region) &&
      Objects.equals(country, that.country);
  }

  @Override
  public int hashCode() {
    return Objects.hash(tag, minZipCode, maxZipCode, region, country);
  }

  @Override
  public String toString() {
    return "PostalInformation{" +
      "tag='" + tag + '\'' +
      ", minZipCode=" + minZipCode +
      ", maxZipCode=" + maxZipCode +
      ", region='" + region + '\'' +
      ", country='" + country + '\'' +
      '}';
  }
}

class Country {
  private final int index;
  private final String tag;

  public Country(int index, String tag) {
    this.index = index;
    this.tag = tag;
  }

  public int getIndex() {
    return index;
  }

  public String getTag() {
    return tag;
  }

  @Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (!(o instanceof Country)) return false;
    Country country = (Country) o;
    return index == country.index &&
      Objects.equals(tag, country.tag);
  }

  @Override
  public int hashCode() {
    return Objects.hash(index, tag);
  }

  @Override
  public String toString() {
    return "Country{" +
      "index=" + index +
      ", tag='" + tag + '\'' +
      '}';
  }
}
 

Neue Themen


Zurück
Oben