tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
599
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Kumaro Kumaro ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Beiträge
    83
    Hi Leute, ich hab mich schon dumm und dämlich gesucht doch leider bisher nichts finden können . Mein Problem ist folgendes:
    Ich habe eine htmlCode eingelesen:
    BSP:
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
      <tr>
                        <td>
                            2011-10-31 17:19:15.0
                        </td>
                        <td align="center">
                            29.0
                        </td>
                    </tr>
                
                    <tr>
                        <td>
                            2011-10-31 17:22:14.0
                        </td>
                        <td align="center">
                            28.0
                        </td>
                    </tr>

    Daraus entferne ich jetzt alle html Zeichen mit:

    Code java:
    1
    
    String string1 = htmlCodeData.replaceAll("\\<.*?\\>", "");

    das funktioniert somit alles ganz gut. Dann splitte ich den Code bei " " (leerzeichen) und speicher die einzelnen splits in eine ArrayListe:

    Code java:
    1
    2
    3
    4
    5
    6
    
    String split[] = string1.split(" ");
            ArrayList<String> list = new ArrayList<String>();
            
            for(int i=0; i < split.length; i++){
                list.add(split[i]);
            }

    Jetzt habe ich folgendes Schema in der Liste: (viele elemente sind leerzeilen oder leerzeichen ich weiß leider nicht genau?) und in anderen elementen stehen die Datumangaben und werte.

    Jetzt würde ich gerne alle elemente aus der ArrayList löschen die kein Datum oder Wert enthalten --> also ein leerzeichen oder eine leerzeile (Leerstring) enthalten so dass ich dann nur noch die wichtigen daten in der arrayList habe.

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    
    for(int j=0; j < list.size(); j++){
                if(list.get(j).equals(" ")) {
                    list.remove(j);
                }
            }
            for(int k=0; k < list.size(); k++){
            System.out.println(list.get(k));
            }

    Doch wenn ich das dann ausgebe ist alles unverändert... ich habe es auch schon statt dem " " mit "\n" probiert doch leider zeigt das auch keine wirkung... was mach ich falsch****?

    Ich hoffe dringend auf eure Hilfe!

    Vielen Dank im Voraus


    PS: Oder hat viell jmd eine effektivere Lösung wie ich die Daten extrahieren kann********
    Geändert von Kumaro (31.10.11 um 20:37 Uhr)
     

  2. #2
    SE Tutorials.de Gastzugang
    Ich würde hier sowas versuchen :
    Code java:
    1
    2
    3
    4
    
    if(split[i].trim().equals(""))
        continue;
    else
        list.add(split[i]);
    verwenden um schon VOR dem adden alle Whitespaces zu entfernen.
    Alternativ würde das auch noch mit RegEx ganz gut klappen.
     

  3. #3
    Kumaro Kumaro ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Beiträge
    83
    Hi danke schonmal für deine Antwort. ich hab das mal so eingebaut ...aber es scheint nicht zu funktionieren:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
            String split[] = string1.split(" ");
            ArrayList<String> list = new ArrayList<String>();
            
            for(int i=0; i < split.length; i++){
                if(split[i].trim().equals(" "))
                    continue;
                else            
                list.add(split[i]);
            }

    Die Ausgabe sieht immer noch so aus:

    "


    2011-10-31
    20:49:13.0




    10.0



    "
     

  4. #4
    SE Tutorials.de Gastzugang
    Du solltest vielleicht mal Copy&Paste machen ... oder genau hinsehen ...

    Ich habe auch NICHT " " geschrieben ... sondern nur ""

    Wenn du mit trim() alle Whitespaces entfernst ... und dann überprüfst ob ein String ob er ein Leerzeichen enthält ... dass das FALSE ergibt sollte eigentlich klar sein.
     

  5. #5
    Kumaro Kumaro ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Beiträge
    83
    Oh, klar sorry
    hab jetzt


    Code java:
    1
    
    if(!split[i].trim().equals("") ){

    genommen da sieht die Ausgabe immerhin schon so aus:

    "
    2011-10-31
    21:43:13.0

    0.0

    2011-10-31
    21:46:14.0

    0.0
    "

    Wie bekomm ich die kompletten leerzeilen raus?

    hab schon

    Code java:
    1
    
    if(!split[i].trim().equals("") && !split[i].trim().equals("\n")){

    probiert aber leider ohne erfolg.
     

  6. #6
    Kumaro Kumaro ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Beiträge
    83
    Hab die Lösung gefunden. So funktioniert es:

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    String string1 = htmlCodeData.replaceAll("\\<.*?\\>", "");    //ENTFERNT HTML CODE!
            
            String split[] = string1.split(" ");
            ArrayList<String> list = new ArrayList<String>();
            
            for(int i=0; i < split.length; i++){
                if(!split[i].trim().equals("")){   //entfernt alle leerzeichen vor und hinter dem String
                    list.add(split[i].trim());     // entfernt die Absätze (\n) hinter den strings
                }
                
            }
        
            for(int k=0; k < list.size(); k++){
            System.out.println(list.get(k));
            }

    Vielen Dank für deine Hilfe
     

  7. #7
    SE Tutorials.de Gastzugang
    Makiere das Thema bitte als erledigt wenn dein Problem gelöst ist.
     

  8. #8
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.502
    @kumaro: Du bist länger als ich angemeldet...da kann es doch nicht so schwer sein, nach ner halbe Stunde lesen von Spikees Post auf den Button zu drücken?

    @Spikee: Die User schaffen das Generell nicht mehr...
    (kumaro: Nicht auf dich bezogen, sondern Allgemein).
    Ich glaub, 80% von deinen Erledigt-Button-Hinweisen drücke ich
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

Ähnliche Themen

  1. ArrayList<ArrayList<String>> ausgeben?
    Von fartos im Forum Java
    Antworten: 3
    Letzter Beitrag: 18.10.11, 19:22
  2. ArrayList elemente löschen
    Von DaSuckOOr im Forum Java Grundlagen
    Antworten: 5
    Letzter Beitrag: 09.04.08, 09:07
  3. Inhalt einer ArrayList in andere ArrayList kopieren
    Von Pierre im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 05.07.05, 16:58
  4. Doppelte Einträge aus einem Arraylist löschen
    Von Planet_Mars im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 02.03.05, 10:31
  5. Steuerelement löschen ohne Arraylist
    Von winnitou im Forum .NET Archiv
    Antworten: 7
    Letzter Beitrag: 29.06.04, 00:36