Bestimmten Bereich eines Strings lesen

Kenta1561

Bekanntes Mitglied
Hallo,

wenn ich so einen String habe:
Java:
String test = "Data: <name=banane, price=1.49>, <name=orange, price=2.39>, <name=apfel, price=1.59>"
und ich einen bestimmten Bereich aus diesem String in einem neuen String speichern möchte, wie kann ich das machen? Zum Beispiel wenn ich den Preis von einer Banane haben möchte, möchte ich, dass "<name=banane, price=1.49>" im neuen String gespeichert wird. (Die Bedingung wäre also: FÄNGT MIT "<name=banane" an, ENDET AM nächsten ">") Leider geht das ja nicht mit substring, denn da gibt man ja an, von welcher Stelle zu welcher Stelle man lesen möchte, jedoch geht das hier ja leider nicht, weil die Preise könnten ja auch, (wenn es auch unrealistisch ist) zweistellig sein, dann stimmen ja die Positionen nicht mehr.
Auch wenn mein Beispiel irgendwie komisch ist, würde ich mich freuen, wenn ihr mir helfen könntet, ich muss für ein anderes Programm wissen wie sowas geht.

LG
Kenta1561
 
Hi,

was mir direkt auffaellt ist die char-Kombination '>,'. Diese schliesst einen Datensatz innerhalb des Strings ab. Damit kannst du erstmal splitten. Danach kannst du nochmal beim Komma splitten. Und dann kannst du die eine Map machen mit den Werten links und rechts vom Komma.

EDIT: machen kannst du das mit zum Beispiel
org.apache.commons.lang3.StringUtils.splitString(String, String)
 
Du kannst auch ein Regex drüberschubsen. So erhältst du dann Paare: name=xxx, price=yyy.

Was mir sonst noch einfällt? Eigenen Parser schreiben, der erst mal die Tookens nimmt usw. 🙂

HashMap<String, Integer> hmsi als gewählte DS scheint aber logisch konsistent.
 
Zum Beispiel wenn ich den Preis von einer Banane haben möchte, möchte ich, dass "<name=banane, price=1.49>" im neuen String gespeichert wird. (Die Bedingung wäre also: FÄNGT MIT "<name=banane" an, ENDET AM nächsten ">") Leider geht das ja nicht mit substring, denn da gibt man ja an, von welcher Stelle zu welcher Stelle man lesen möchte, jedoch geht das hier ja leider nicht, weil die Preise könnten ja auch, (wenn es auch unrealistisch ist) zweistellig sein, dann stimmen ja die Positionen nicht mehr.
Auch wenn die Idee von @BuckRogers mit dem Splitten schon super ist, nur mal so nebenbei:
Das was Du hier so schnell abgetan hast, geht über div. Stringmethoden natürlich schon!! Schau Dir bspw. mal die Methoden indexOf und lastIndexOf (mit den jeweiligen Parametern) an. Damit könntest Du problemlos Dein "FÄNGT MIT ... ENDET AM nächsten ..." nachbilden!

Ruhig immer erstmal einen Blick in die API werfen, das hilft meist weiter
https://docs.oracle.com/javase/8/docs/api/java/lang/String.html

Gruß Klaus
 
Also gehen tut das schon, ist aber ziemlich umständlich:
Java:
    public static void main(String[] args) {
        String test = "Data: <name=banane, price=1.49>, <name=orange, price=2.39>, <name=apfel, price=1.59>";
        int i = 0, j = 0;
        while (true) {
            i = test.indexOf("<", j);
            j = test.indexOf(">", i);
            if (i == -1 || j == -1) {
                break;
            }
            String sub = test.substring(i, j);
            System.out.println("sub = " + sub);
            // while sub ...
        }
    }

Oder über jedes einzelne Zeichen.

Oder was ich nehm würde:
Java:
    public static void main(String[] args) {
        HashMap<String, Double> map = new HashMap<String, Double>();

        String test = "Data: <name=banane, price=1.49>, <name=orange, price=2.39>, <name=apfel, price=1.59>";
        Document doc = Jsoup.parse(test);
        Elements elems = doc.getAllElements();
        for (int i = 4; i < elems.size(); i++) {
            Element elem = elems.get(i);
            String name = elem.tagName().substring(5, elem.tagName().length() - 1);
            double val = Double.parseDouble(elem.attr("price"));
            map.put(name, val);
        }

        for (String key : map.keySet()) {
            System.out.println(key + " \t " + map.get(key));
        }
    }

Code:
orange 	 2.39
apfel 	 1.59
banane 	 1.49

Ist gerade ein bisschen Zeit. Aber ich hoffe, der Anfang ist verständlich.
 
Ok, Dank Wikipedia etwas von Früchten gelernt (21.05.2016):
Ich hab Beispieldaten mal in dein Format gebracht
(mit Jsoup wie oben gezeigt, kannst du es parsen):
Code:
list = [Apfel, Apfelbeere, Birnen, Europäische Birne, Nashi-Birne, Dovyalis, Eberesche, Elsbeere, Hagebutte, Mispel, Quitte, Scheinquitte, Speierling, Aprikose, Kirschen, Süßkirschen, Herzkirsche, Knorpelkirsche, Sauerkirschen, Echte Sauerkirsche, Bastard-Kirsche, Pflaumen, Echte Pflaume, Mirabelle, Edel-Pflaume, Zwetschge, Japanische Aprikose, Pfirsich, Nektarine, Schlehbeere, Kirschpflaume, Kornelkirsche, Myrica rubra, Sammelsteinfrüchte, Allackerbeere, Salmonberry, Andenbrombeere, Asiatischer Blüten-Hartriegel, Brombeere, Himbeere, Japanische Weinbeere, Kratzbeere, Moltebeere, Rubus-Hybriden, Boysenbeere, Loganbeere, Marionbeere, Taybeere, Sammelnussfrüchte, Erdbeere, Walderdbeere, Gartenerdbeere, Hagebutte, Echte Beeren, Schwarze Johannisbeere, Rote Johannisbeere, Stachelbeere, Weinbeere, Heidelbeere, Preiselbeere, Gewöhnliche Moosbeere, Großfrüchtige Moosbeere, Berberitze, Jochelbeere, Maibeere, beerenähnliche Früchte, Sanddorn, Felsenbirne, Holunder, Maulbeere, Echte Mehlbeere, Cashewnuss, Coquito, Erdnuss, Edelkastanie, Haselnuss, Kemirinuss, Kokosnuss, Macadamia, Mandel, Paranuss, Pecannuss, Pistazie, Walnuss, Ananas, Bananen, Kumquat, Zitrusfrüchte, Kaffir-Limette, Zitronatzitrone, Echte Limette, Echte Limette, Gewöhnliche Limette, Mandarine, Orange, Grapefruit, Pampelmuse, Pomelo, Pomeranze, Chinotto, Satsuma, Yuzu, Bergamotte, Sudachi, Ugli, Zitrone, Pitahaya, Acerola, Achachairú, Akee, Amla, Annona, Cherimoya, Atemoya, Apfelkaktus, Arazá, Affenbrot, Babaco, Balsampflaume, Umbú, Binjai, Bilimbi, Breiapfel, Brasilianische Guave, Brotfrucht, Burmesische Traube, Buschpflaume, Camu-Camu, Cempedak, Chilenische Guave, Coquino, Curiola, Curuba, Dattel, Durian, Erdbeerguave, Westlicher Erdbeerbaum, Feige, Fensterblatt, Gandaria, Granadilla, Granatapfel, Grosella, Große Sapote, Guanabana, Guave, Indische Jujube, Jabuticaba, Jackfrucht, Jambolan, Japanische Pflaume, Japanische Stachelbeere, Japanische Wollmispel, Javaapfel, Jenipapo, Johannisbrot, Jujube, Kaki, Kaktusfeige, Kapstachelbeere, Keppel, Kiwano, Kiwi, Kochbanane, Kohlpalmenfrüchte, Kolumbianische Sapote, Kwini, Langsat, Litschi, Longan, Lotusfrucht, Lucuma, Lulo, Mabolo, Mahonie, Malayapfel, Mammiapfel, Mango, Mangostanfrucht, Maracuja, Marula, Melone, Mombinpflaume, Papaya, Dreilappige Papau, Pepino, Pitomba, Pfirsichpalmenfrucht, Pulasan, Quenepa, Rambutan, Riesen-Granadilla, Röhren-Kassie, Rosella, Rosenapfel, Salak, Santol (Pflanze), Schwarze Sapote, Sternapfel, Sternfrucht, Stinkende Mango, Surinamkirsche, Süße Granadilla, Tamarillo, Tamarinde, Umbú, Wasserapfel, Weiße Sapote, Zimtapfel]

list.size() = 209
Code:
set = [Kochbanane, Echte Limette, Rubus-Hybriden, Sanddorn, Kaffir-Limette, Sternfrucht, Kapstachelbeere, Stinkende Mango, Rosenapfel, Süße Granadilla, Kratzbeere, Mangostanfrucht, Jambolan, Asiatischer Blüten-Hartriegel, Weiße Sapote, Arazá, Coquino, Mirabelle, Annona, Mammiapfel, Japanische Pflaume, Pflaumen, Sudachi, Indische Jujube, Schlehbeere, Papaya, Japanische Aprikose, Europäische Birne, Quenepa, Allackerbeere, Birnen, Jujube, Erdnuss, Litschi, Marula, Dreilappige Papau, Guanabana, Röhren-Kassie, Boysenbeere, Chinotto, Kirschpflaume, Akee, Knorpelkirsche, Echte Beeren, Sauerkirschen, Durian, Bilimbi, Acerola, Mandel, Berberitze, Kwini, Pecannuss, Große Sapote, Maracuja, Andenbrombeere, Eberesche, Sammelsteinfrüchte, Maibeere, Johannisbrot, Jenipapo, Keppel, Herzkirsche, Kokosnuss, Mabolo, Zwetschge, Buschpflaume, Kumquat, Balsampflaume, Javaapfel, Pfirsich, Granatapfel, Jochelbeere, Rosella, Japanische Wollmispel, Sammelnussfrüchte, Lulo, Schwarze Johannisbeere, Dattel, Brasilianische Guave, Salak, Cashewnuss, Mahonie, Amla, Lucuma, Mispel, Nektarine, Grosella, Coquito, Großfrüchtige Moosbeere, Kiwi, Apfelkaktus, Kirschen, Satsuma, Pulasan, Jabuticaba, Langsat, Taybeere, Orange, Gewöhnliche Moosbeere, Breiapfel, Apfelbeere, Aprikose, Melone, Apfel, Bananen, Myrica rubra, Loganbeere, Guave, Himbeere, Echte Sauerkirsche, Preiselbeere, Pomeranze, Erdbeerguave, Gandaria, Erdbeere, Kohlpalmenfrüchte, Pitomba, Cempedak, Surinamkirsche, Affenbrot, Moltebeere, Bastard-Kirsche, Felsenbirne, Wasserapfel, Pfirsichpalmenfrucht, Pitahaya, Japanische Stachelbeere, Pepino, Scheinquitte, Binjai, Edelkastanie, Weinbeere, Gewöhnliche Limette, Stachelbeere, Zitronatzitrone, Curiola, Tamarinde, Yuzu, Kolumbianische Sapote, Kemirinuss, Echte Pflaume, Zimtapfel, Kornelkirsche, Pomelo, Burmesische Traube, Fensterblatt, Pampelmuse, Kaktusfeige, Hagebutte, Kiwano, Walderdbeere, Kaki, Zitrusfrüchte, beerenähnliche Früchte, Edel-Pflaume, Chilenische Guave, Gartenerdbeere, Santol (Pflanze), Ugli, Elsbeere, Bergamotte, Riesen-Granadilla, Zitrone, Brotfrucht, Speierling, Lotusfrucht, Dovyalis, Japanische Weinbeere, Salmonberry, Jackfrucht, Echte Mehlbeere, Curuba, Atemoya, Umbú, Schwarze Sapote, Granadilla, Walnuss, Feige, Holunder, Süßkirschen, Malayapfel, Mango, Rambutan, Longan, Maulbeere, Paranuss, Ananas, Rote Johannisbeere, Nashi-Birne, Sternapfel, Westlicher Erdbeerbaum, Pistazie, Grapefruit, Cherimoya, Tamarillo, Mandarine, Mombinpflaume, Marionbeere, Babaco, Camu-Camu, Macadamia, Haselnuss, Brombeere, Quitte, Achachairú, Heidelbeere]

set.size() = 206
Code:
test = Data: <name="Kochbanane", price="1.66">, <name="Echte Limette", price="1.94">, <name="Rubus-Hybriden", price="1.28">, <name="Sanddorn", price="1.96">, <name="Kaffir-Limette", price="1.07">, <name="Sternfrucht", price="2.22">, <name="Kapstachelbeere", price="0.81">, <name="Stinkende Mango", price="1.10">, <name="Rosenapfel", price="2.21">, <name="Süße Granadilla", price="0.53">, <name="Kratzbeere", price="1.78">, <name="Mangostanfrucht", price="2.81">, <name="Jambolan", price="2.68">, <name="Asiatischer Blüten-Hartriegel", price="0.71">, <name="Weiße Sapote", price="2.68">, <name="Arazá", price="0.74">, <name="Coquino", price="1.58">, <name="Mirabelle", price="1.42">, <name="Annona", price="2.36">, <name="Mammiapfel", price="1.27">, <name="Japanische Pflaume", price="2.10">, <name="Pflaumen", price="1.19">, <name="Sudachi", price="0.80">, <name="Indische Jujube", price="1.01">, <name="Schlehbeere", price="2.57">, <name="Papaya", price="2.11">, <name="Japanische Aprikose", price="1.00">, <name="Europäische Birne", price="2.58">, <name="Quenepa", price="2.96">, <name="Allackerbeere", price="1.39">, <name="Birnen", price="0.87">, <name="Jujube", price="2.96">, <name="Erdnuss", price="0.63">, <name="Litschi", price="2.80">, <name="Marula", price="2.04">, <name="Dreilappige Papau", price="0.71">, <name="Guanabana", price="1.54">, <name="Röhren-Kassie", price="0.68">, <name="Boysenbeere", price="0.62">, <name="Chinotto", price="0.91">, <name="Kirschpflaume", price="0.72">, <name="Akee", price="1.43">, <name="Knorpelkirsche", price="2.67">, <name="Echte Beeren", price="1.48">, <name="Sauerkirschen", price="1.07">, <name="Durian", price="1.62">, <name="Bilimbi", price="2.64">, <name="Acerola", price="1.47">, <name="Mandel", price="1.08">, <name="Berberitze", price="0.77">, <name="Kwini", price="1.57">, <name="Pecannuss", price="0.96">, <name="Große Sapote", price="2.27">, <name="Maracuja", price="1.91">, <name="Andenbrombeere", price="2.46">, <name="Eberesche", price="2.94">, <name="Sammelsteinfrüchte", price="1.35">, <name="Maibeere", price="2.94">, <name="Johannisbrot", price="2.79">, <name="Jenipapo", price="1.66">, <name="Keppel", price="1.75">, <name="Herzkirsche", price="1.40">, <name="Kokosnuss", price="1.50">, <name="Mabolo", price="2.77">, <name="Zwetschge", price="0.82">, <name="Buschpflaume", price="1.15">, <name="Kumquat", price="1.23">, <name="Balsampflaume", price="1.71">, <name="Javaapfel", price="1.11">, <name="Pfirsich", price="1.02">, <name="Granatapfel", price="2.15">, <name="Jochelbeere", price="1.37">, <name="Rosella", price="1.62">, <name="Japanische Wollmispel", price="2.50">, <name="Sammelnussfrüchte", price="1.58">, <name="Lulo", price="1.94">, <name="Schwarze Johannisbeere", price="1.14">, <name="Dattel", price="1.86">, <name="Brasilianische Guave", price="2.47">, <name="Salak", price="2.78">, <name="Cashewnuss", price="0.67">, <name="Mahonie", price="0.55">, <name="Amla", price="2.85">, <name="Lucuma", price="1.42">, <name="Mispel", price="2.56">, <name="Nektarine", price="2.85">, <name="Grosella", price="2.87">, <name="Coquito", price="2.37">, <name="Großfrüchtige Moosbeere", price="0.86">, <name="Kiwi", price="2.36">, <name="Apfelkaktus", price="1.22">, <name="Kirschen", price="1.02">, <name="Satsuma", price="2.53">, <name="Pulasan", price="1.97">, <name="Jabuticaba", price="1.05">, <name="Langsat", price="2.23">, <name="Taybeere", price="1.00">, <name="Orange", price="1.25">, <name="Gewöhnliche Moosbeere", price="2.63">, <name="Breiapfel", price="2.89">, <name="Apfelbeere", price="2.97">, <name="Aprikose", price="2.21">, <name="Melone", price="2.38">, <name="Apfel", price="2.40">, <name="Bananen", price="1.49">, <name="Myrica rubra", price="2.27">, <name="Loganbeere", price="1.75">, <name="Guave", price="0.85">, <name="Himbeere", price="0.93">, <name="Echte Sauerkirsche", price="0.70">, <name="Preiselbeere", price="1.56">, <name="Pomeranze", price="2.14">, <name="Erdbeerguave", price="2.28">, <name="Gandaria", price="2.57">, <name="Erdbeere", price="1.10">, <name="Kohlpalmenfrüchte", price="1.83">, <name="Pitomba", price="2.78">, <name="Cempedak", price="1.60">, <name="Surinamkirsche", price="1.16">, <name="Affenbrot", price="1.14">, <name="Moltebeere", price="1.58">, <name="Bastard-Kirsche", price="1.07">, <name="Felsenbirne", price="1.98">, <name="Wasserapfel", price="2.50">, <name="Pfirsichpalmenfrucht", price="2.78">, <name="Pitahaya", price="2.08">, <name="Japanische Stachelbeere", price="0.69">, <name="Pepino", price="1.87">, <name="Scheinquitte", price="0.96">, <name="Binjai", price="2.83">, <name="Edelkastanie", price="1.60">, <name="Weinbeere", price="1.79">, <name="Gewöhnliche Limette", price="1.81">, <name="Stachelbeere", price="0.86">, <name="Zitronatzitrone", price="0.86">, <name="Curiola", price="1.45">, <name="Tamarinde", price="2.06">, <name="Yuzu", price="1.19">, <name="Kolumbianische Sapote", price="2.78">, <name="Kemirinuss", price="0.68">, <name="Echte Pflaume", price="2.48">, <name="Zimtapfel", price="2.44">, <name="Kornelkirsche", price="1.38">, <name="Pomelo", price="2.97">, <name="Burmesische Traube", price="1.79">, <name="Fensterblatt", price="2.95">, <name="Pampelmuse", price="1.19">, <name="Kaktusfeige", price="2.24">, <name="Hagebutte", price="0.66">, <name="Kiwano", price="2.05">, <name="Walderdbeere", price="0.96">, <name="Kaki", price="2.68">, <name="Zitrusfrüchte", price="2.59">, <name="beerenähnliche Früchte", price="2.44">, <name="Edel-Pflaume", price="2.46">, <name="Chilenische Guave", price="0.87">, <name="Gartenerdbeere", price="0.79">, <name="Santol (Pflanze)", price="2.77">, <name="Ugli", price="0.75">, <name="Elsbeere", price="2.10">, <name="Bergamotte", price="1.26">, <name="Riesen-Granadilla", price="1.32">, <name="Zitrone", price="0.84">, <name="Brotfrucht", price="0.89">, <name="Speierling", price="2.85">, <name="Lotusfrucht", price="1.77">, <name="Dovyalis", price="0.68">, <name="Japanische Weinbeere", price="2.49">, <name="Salmonberry", price="3.00">, <name="Jackfrucht", price="0.78">, <name="Echte Mehlbeere", price="2.05">, <name="Curuba", price="2.15">, <name="Atemoya", price="0.79">, <name="Umbú", price="0.80">, <name="Schwarze Sapote", price="2.17">, <name="Granadilla", price="2.79">, <name="Walnuss", price="1.94">, <name="Feige", price="2.99">, <name="Holunder", price="2.84">, <name="Süßkirschen", price="2.63">, <name="Malayapfel", price="1.67">, <name="Mango", price="1.90">, <name="Rambutan", price="0.68">, <name="Longan", price="0.72">, <name="Maulbeere", price="2.56">, <name="Paranuss", price="1.67">, <name="Ananas", price="0.95">, <name="Rote Johannisbeere", price="2.09">, <name="Nashi-Birne", price="2.04">, <name="Sternapfel", price="1.53">, <name="Westlicher Erdbeerbaum", price="1.16">, <name="Pistazie", price="1.54">, <name="Grapefruit", price="2.37">, <name="Cherimoya", price="1.69">, <name="Tamarillo", price="2.49">, <name="Mandarine", price="2.47">, <name="Mombinpflaume", price="0.52">, <name="Marionbeere", price="2.14">, <name="Babaco", price="2.49">, <name="Camu-Camu", price="1.02">, <name="Macadamia", price="0.50">, <name="Haselnuss", price="2.33">, <name="Brombeere", price="1.19">, <name="Quitte", price="1.50">, <name="Achachairú", price="0.70">, <name="Heidelbeere", price="1.18">

Code:
"zwetschge"    0.82
"allackerbeere"    1.39
"binjai"    2.83
"stinkend    1.1
"keppel"    1.75
"wasserapfel"    2.5
"pistazie"    1.54
"weiß    2.68
"grapefruit"    2.37
"ananas"    0.95
"marionbeere"    2.14
"curuba"    2.15
"mandarine"    2.47
"litschi"    2.8
"acerola"    1.47
"edelkastanie"    1.6
"yuzu"    1.19
"cherimoya"    1.69
"apfelbeere"    2.97
"atemoya"    0.79
"dreilappig    0.71
"walderdbeere"    0.96
"röhren-kassie"    0.68
"kaffir-limette"    1.07
"speierling"    2.85
"papaya"    2.11
"erdbeerguave"    2.28
"knorpelkirsche"    2.67
"sudachi"    0.8
"durian"    1.62
"moltebeere"    1.58
"mangostanfrucht"    2.81
"rot    2.09
"pfirsichpalmenfrucht"    2.78
"berberitze"    0.77
"quenepa"    2.96
"affenbrot"    1.14
"elsbeere"    2.1
"babaco"    2.49
"surinamkirsche"    1.16
"jenipapo"    1.66
"rosella"    1.62
"schwarz    2.17
"kornelkirsche"    1.38
"kiwano"    2.05
"kirschpflaume"    0.72
"kiwi"    2.36
"chilenisch    0.87
"paranuss"    1.67
"maulbeere"    2.56
"kaktusfeige"    2.24
"nashi-birne"    2.04
"granadilla"    2.79
"beerenähnlich    2.44
"aprikose"    2.21
"kaki"    2.68
"orange"    1.25
"macadamia"    0.5
"pflaumen"    1.19
"curiola"    1.45
"weinbeere"    1.79
"jujube"    2.96
"nektarine"    2.85
"bilimbi"    2.64
"indisch    1.01
"kemirinuss"    0.68
"buschpflaume"    1.15
"brotfrucht"    0.89
"kumquat"    1.23
"javaapfel"    1.11
"bergamotte"    1.26
"pfirsich"    1.02
"myric    2.27
"europäisch    2.58
"pitomba"    2.78
"gewöhnlich    1.81
"camu-camu"    1.02
"jambolan"    2.68
"schlehbeere"    2.57
"kolumbianisch    2.78
"tamarinde"    2.06
"balsampflaume"    1.71
"japanisch    2.49
"mandel"    1.08
"himbeere"    0.93
"maibeere"    2.94
"langsat"    2.23
"guanabana"    1.54
"apfelkaktus"    1.22
"sammelnussfrüchte"    1.58
"dattel"    1.86
"pitahaya"    2.08
"mirabelle"    1.42
"gandaria"    2.57
"cempedak"    1.6
"edel-pflaume"    2.46
"rubus-hybriden"    1.28
"andenbrombeere"    2.46
"stachelbeere"    0.86
"sanddorn"    1.96
"mabolo"    2.77
"guave"    0.85
"brasilianisch    2.47
"gartenerdbeere"    0.79
"arazá"    0.74
"kwini"    1.57
"johannisbrot"    2.79
"birnen"    0.87
"granatapfel"    2.15
"mombinpflaume"    0.52
"erdbeere"    1.1
"amla"    2.85
"scheinquitte"    0.96
"ugli"    0.75
"pulasan"    1.97
"riesen-granadilla"    1.32
"westliche    1.16
"chinotto"    0.91
"dovyalis"    0.68
"echt    2.05
"kokosnuss"    1.5
"brombeere"    1.19
"rambutan"    0.68
"marula"    2.04
"lucuma"    1.42
"zitrone"    0.84
"sauerkirschen"    1.07
"sternapfel"    1.53
"jackfrucht"    0.78
"kochbanane"    1.66
"sternfrucht"    2.22
"asiatische    0.71
"salmonberry"    3.0
"tamarillo"    2.49
"kohlpalmenfrüchte"    1.83
"mango"    1.9
"bastard-kirsche"    1.07
"pomelo"    2.97
"burmesisch    1.79
"coquino"    1.58
"achachairú"    0.7
"breiapfel"    2.89
"salak"    2.78
"mammiapfel"    1.27
"kirschen"    1.02
"mahonie"    0.55
"loganbeere"    1.75
"cashewnuss"    0.67
"heidelbeere"    1.18
"umbú"    0.8
"bananen"    1.49
"boysenbeere"    0.62
"kratzbeere"    1.78
"melone"    2.38
"longan"    0.72
"süßkirschen"    2.63
"groß    2.27
"pampelmuse"    1.19
"walnuss"    1.94
"lotusfrucht"    1.77
"zimtapfel"    2.44
"eberesche"    2.94
"fensterblatt"    2.95
"erdnuss"    0.63
"satsuma"    2.53
"süß    0.53
"pecannuss"    0.96
"zitrusfrüchte"    2.59
"haselnuss"    2.33
"taybeere"    1.0
"maracuja"    1.91
"akee"    1.43
"malayapfel"    1.67
"jabuticaba"    1.05
"feige"    2.99
"jochelbeere"    1.37
"coquito"    2.37
"mispel"    2.56
"grosella"    2.87
"holunder"    2.84
"lulo"    1.94
"kapstachelbeere"    0.81
"hagebutte"    0.66
"annona"    2.36
"pepino"    1.87
"pomeranze"    2.14
"rosenapfel"    2.21
"sammelsteinfrüchte"    1.35
"quitte"    1.5
"großfrüchtig    0.86
"felsenbirne"    1.98
"apfel"    2.4
"preiselbeere"    1.56
"zitronatzitrone"    0.86
"herzkirsche"    1.4
"santo    2.77

map.size() = 196

Und was fällt auf? Das Format ist nicht XML oder JSON, also besser ein anderes wählen.

Randnotiz: Hagebutte, Nummer = 65, Echte Limette, Nummer = 105 und Umbú, Nummer = 219 gibt es mysteriöserweise zweimal. 🙂
 
Hier noch ein RegEx Beispiel:

Java:
        String test = "Data: <name=banane, price=1.49>, <name=orange, price=2.39>, <name=apfel, price=1.59>";
       
        Pattern p = Pattern.compile("<name=(.*?), price=(.*?)>");
        Matcher m = p.matcher(test);
        while (m.find()) {
            String name = m.group(1);
            String price = m.group(2);
            System.out.println(name + ": " + price);
        }

Ergibt:

banane: 1.49
orange: 2.39
apfel: 1.59
 

Zurück
Oben