JAVA: String.split("\t")

Dieses Thema JAVA: String.split("\t") im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von Michael_B, 19. Jan. 2006.

Thema: JAVA: String.split("\t") Hallo, hier ist der nervende Java-Coder wieder :D Mir ist folgendes aufgefallen: Ich lese aus einer Datei eine...

  1. Hallo,

    hier ist der nervende Java-Coder wieder :D Mir ist folgendes aufgefallen:
    Ich lese aus einer Datei eine Zeile aus, die Zahlen enthält. Diese Zahlen sind TAB-delimited. Es kann auch vorkommen, dass in einer Spalte kein Wert existiert. Ich speichere die Zahlen als Double-Objekte in einer ArrayList. Solche - ich nenn sie mal - NULL-Werte kann ich daher auch in der ArrayList (als null) speichern.
    Aber ich rede wieder zuviel, es geht hier nämlich nicht um die Zahlen, sondern generell um das Einlesen. Ich hole mir also eine Zeile aus der Datei und mache mir davon erstmal ein String[]
    Code:
    String[] values = zeile.split(\t)
    Ich muss jedoch auch sicherstellen, dass eine gewisse Konsistenz gegeben ist. Soll heissen, dass jede Zeile die gleiche Anzahl an Werten haben soll. Das prüfe ich, indem ich die erste Zeile als Grundlage nehme, diese split'te und mir die Anzahl an Werten merke. In jeder Folgezeile überprüfe ich dann, ob die Anzahl der Werte dieser Zeile mit dem gemerkten Wert übereinstimmt.

    Allerdings ist das problematisch, wenn in der letzten Spalte kein Wert steht (obwohl dort immernoch ein \t anzutreffen ist. Habe dazu mal ein kleines Programm geschrieben, das das Problem verdeutlichen soll.
    Code:
    public class Test {
    
    	public static void main(String[] args) {
    		String zeile1 = a\tb\tc\td\t\t\t\t\t\t;
    		String zeile2 = zeile1+f;
    		
    		String[] arr1 = zeile1.split(\t);
    		String[] arr2 = zeile2.split(\t);
    		
    		System.out.println(# of elements in arr1: +arr1.length);
    		for(int i=0; i<arr1.length; i++) {
    			System.out.println([+i+] +arr1[i]);
    		}
    		
    		System.out.println(\n# of elements in arr2: +arr2.length);
    		for(int i=0; i<arr2.length; i++) {
    			System.out.println([+i+] +arr2[i]);
    		}
    	}
    }
    gibt folgenden Output:
    Code:
    # of elements in arr1: 4
    [0] a
    [1] b
    [2] c
    [3] d
    
    # of elements in arr2: 10
    [0] a
    [1] b
    [2] c
    [3] d
    [4] 
    [5] 
    [6] 
    [7] 
    [8] 
    [9] f
    Ich hätte aber gerne, dass arr1 genauso lang ist wie arr2 und halt eben die Werte von index 4 bis 9 leere Strings sind... wie kann ich das Pattern für die split-Methode anpassen, dass mir die Methode alle Elemente (also auch die hinterletzten Leerstrings) liefert?

    Lg und THX in advance
    M.
     
  2. Hi... ich habs nun erstmal so umgehen können, dass ich an die zu splittende zeile erst noch um ein \tbla erweitert hab. Dieser Wert wird dann natürlich bei der späteren Verarbeitung ignoriert.
    Schön find ich das allerdings nicht :(

    Lg
    M.
     
  3. Hallo,

    ich habe gerade mit Google nach der Lösung zu einem Problem gesucht. Allerdings bestehen die ersten Seiten der Suchergebnisse wieder einmal hauptsächlich aus ungelösten Threads.

    Als ich versucht habe in einem dieser Threads eine Lösung zu posten, war dies nicht möglich. Mir wurde Folgendes mitgeteilt:
    Damit habe ich ein Problem, also habe ich diesen neuen Thread hier eröffnet und verweise nun auf den alten:
    JAVA: String.split(\t)

    Ich würde gerne eine Lösung in diesem Thread posten. Falls das aber nicht möglich ist oder nicht erwünscht ist, stelle ich hiermit einen Antrag auf die Löschung des Threads, damit er vielleicht irgendwann mal aus dem Suchindex verschwindet.

    Mein Lösungsvorschlag lautet wie folgt:
    gruss,
    Robert
     
  4. Um der künftigen Google-Suche Willen: Threads zusammengeführt. :froehlich1:
     
Die Seite wird geladen...

JAVA: String.split("\t") - Ähnliche Themen

Forum Datum
Java Downloader lässt sich nicht sauber installieren Software: Empfehlungen, Gesuche & Problemlösungen 5. Okt. 2016
Ist Java runtime envirement 1.7.0 mit Java 6 verträglich? Windows XP Forum 11. Jan. 2016
Welchen Firefox und welche Java-Version ?? Windows 7 Forum 16. Dez. 2015
Java und Whatsapp "aktivieren" etwas Windows 7 Forum 18. Sep. 2015
Java Dateien werden geblockt Windows 7 Forum 20. Juni 2015