Split Array auffüllen

F

Faladu

Gast
Hallo ich habe folgendes Problem.

Ich möchte Daten aus einer csv Datei Zeilenweise einlesen, dies funktioniert auch soweit ganz gut. Mein Problem ist nun dass die Zeilen nicht immer gleich lang sind, da in der csv Datei die Zeilen immer mit dem letzten vorhandenem Wert aufhören. Ich bräuchte zur Weiterverarbeitung aber, dass die einzelnen Stringarrays immer eine gewisse Mindestlänge haben.

Minimalbeispiel:

Java:
public class Test {
	
   public static void main(String args[])throws DatumsException{
      String[] zeile=new String[20];
      zeile=  (";;;;;2;;;;;;;1;1;1").split(";");
      System.out.println(zeile.length);
   }

}

Was müsste ich nun machen, damit zeile auch wirklich length 20 hat und nicht nur length 15 hat.
Habe bisher keine Möglichkeit gefunden auf zeile[15] bis zeile[19] zuzugreifen, bzw. hier leere Strings zu haben.
 
S

SlaterB

Gast
falls dagegen noch leere Semikolon folgen, zeigt folgendes Programm den Unterschied zwischen 15 und 20:
Java:
public class Test {
    public static void main(String[] args)  {
        String[] zeile; // sinnlos hier ein Array zu erzeugen
        zeile = (";;;;;2;;;;;;;1;1;1;;;;;").split(";");
        System.out.println(zeile.length); // 15
        System.out.println(Arrays.toString(zeile));

        zeile = (";;;;;2;;;;;;;1;1;1;;;;;").split(";", -1);
        System.out.println(zeile.length); // 20
        System.out.println(Arrays.toString(zeile));
    }
}
 
N

nillehammer

Gast
[Java]
public static void main(String args[])throws DatumsException{

String[] original = (";;;;;2;;;;;;;1;1;1").split(";");
// Wenn original zu lang ist, werden Elemente abgeschnitten
// Wenn original kürzer als die gewünschte Länge ist, werden die restlichen Positionen mit null aufgefüllt
String[] kopie = Arrays.copyOf(zeile, 20);
System.out.println(kopie.length);
}
[/Java]
 
F

faladu

Gast
Wie gesagt, der String stammt ursprünglich aus einer csv Datei und wird nicht manuell mit den ; aufgefüllt. Evtl, sollte ich ihn nach der Anzahl der ; durchsuchen und dann entsprechend viele hinten anhängen, hatte aber auf eine schönere Lösung gehofft.

Der Sinn dahinter liegt darin, dass ich in der Zeile auf die 135te Zelle zugreifen möchte, welche aber nicht immer belegt ist. Wenn es die nicht gibt möchte ich einfach einen leeren string haben. Und da wäre es nunmal einfach das split Ergebnis aufzufüllen als vorher die Längen zu vergleichen etc.

Ich werde mir mal den copy Befehl anschauen
 
F

faladu

Gast
Hallo nillehammer

Vielen Dank für die Hilfe,das war das gesuchte.

@nrg

Mag ja sein. Ich finde es einfacher die leeren strings zu haben als 50 if abfragen bzgl. der Arraylänge einbauen zu müssen.
 

timbeau

Gesperrter Benutzer
Du brauchst grundsätzlich keine 50-if Abfragen sondern in einer Schleife nur 1x die Abfrage und dort die Zeilen durchschicken.

Etwas künstlich aufzublähen und 1000e Operationen durchführen ist deutlich ineffizienter.
 

nrg

Top Contributor
kannst dir auch eine Klasse
Code:
CsvEntity
schreiben, die dann intern das String-Array hält. Dann machst du halt eine
Code:
size()
und
Code:
get(int index)
methode und die get-Methode liefert dir, wenn der index outofrange ist, einen leerstring. dann brauchst du genau einen if :).
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Dynamisches Array durch split()-Funktion? Java Basics - Anfänger-Themen 3
L String array mit split füllen Java Basics - Anfänger-Themen 14
P CSV Datei in String Array -> Split -> New Array Java Basics - Anfänger-Themen 2
B Array fehler bei string split Java Basics - Anfänger-Themen 4
S String split array.length Problem Java Basics - Anfänger-Themen 3
W LocalDate toString und nach Split falsch "erkannt"? Java Basics - Anfänger-Themen 8
sserio Split() -> Regex Frage. Java Basics - Anfänger-Themen 7
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
M Frage zur Methode split der Klasse String Java Basics - Anfänger-Themen 32
OnDemand Regex oder Split? Java Basics - Anfänger-Themen 5
I String.split regex Frage Java Basics - Anfänger-Themen 2
JavaClara Fehlermeldung bei split-Methode Java Basics - Anfänger-Themen 12
S String split Java Basics - Anfänger-Themen 12
Dimax String Split Java Basics - Anfänger-Themen 2
D Kleine Probleme mit Split-Befehlen Java Basics - Anfänger-Themen 5
9 Error bei .split() Java Basics - Anfänger-Themen 2
S Methoden String: split Java Basics - Anfänger-Themen 5
T split innerhalb Klammern ignorieren? Java Basics - Anfänger-Themen 6
MR._FIRE_Flower String.split("(") geht nicht Java Basics - Anfänger-Themen 4
D Input/Output Split am Zeichen | Java Basics - Anfänger-Themen 2
W split()-Methode Java Basics - Anfänger-Themen 4
C Gleichung String Split Java Basics - Anfänger-Themen 6
agent47 Pattern split Java Basics - Anfänger-Themen 2
D BufferedReader/InputStreamReader/Split Java Basics - Anfänger-Themen 2
G String.split(".") Java Basics - Anfänger-Themen 3
F Methoden split() - Mehrere Zeichen Java Basics - Anfänger-Themen 5
R Split ab bestimmter Stelle Java Basics - Anfänger-Themen 9
A String Split Java Basics - Anfänger-Themen 4
K Split und ArrayList Java Basics - Anfänger-Themen 3
JAVAnnik split Methode Java Basics - Anfänger-Themen 1
K How to split my String Java Basics - Anfänger-Themen 2
N split nullpoiner exception Java Basics - Anfänger-Themen 6
L Split + Zeilen einer Datei mit bestimmtem Inhalt löschen Java Basics - Anfänger-Themen 23
vandread String.split("\\") führt zu Error?! Java Basics - Anfänger-Themen 8
N Explode in Java (split). Komme nicht weiter. Java Basics - Anfänger-Themen 2
B Split, Exception - Obwohl es gehen MUSS Java Basics - Anfänger-Themen 3
S Probleme mit split Java Basics - Anfänger-Themen 5
N Probleme mit .split("\\.") Java Basics - Anfänger-Themen 6
N String [][] mit .split Java Basics - Anfänger-Themen 13
Helgon Regex Split Java Basics - Anfänger-Themen 2
L Methoden String.split nach Absätzen? Java Basics - Anfänger-Themen 8
S Split String für | Java Basics - Anfänger-Themen 2
K split() - Delimiter Java Basics - Anfänger-Themen 4
S Hexstring contains & split Java Basics - Anfänger-Themen 2
R String Delimiter (Split) einlesen Java Basics - Anfänger-Themen 9
R .split() - Problem Java Basics - Anfänger-Themen 5
0 String split und replace geht nicht Java Basics - Anfänger-Themen 17
T Syntax für .split mit Klammern Java Basics - Anfänger-Themen 2
T String Split? Java Basics - Anfänger-Themen 10
F String Split Problem mit "|" Java Basics - Anfänger-Themen 3
D String.split(...) Java Basics - Anfänger-Themen 4
Z split tut nicht, was es soll Java Basics - Anfänger-Themen 3
C Split Fehler? Java Basics - Anfänger-Themen 7
D BufferedWriter, split() und Zeilenumbrüche Java Basics - Anfänger-Themen 5
K Java Split mehrere Zeilen Java Basics - Anfänger-Themen 4
D BufferedReader und .split() Java Basics - Anfänger-Themen 3
Y split()-Methoden problem Java Basics - Anfänger-Themen 21
J String split-Funktion und Integer Java Basics - Anfänger-Themen 13
X nach split leerzeichen weg Java Basics - Anfänger-Themen 4
M Regex mit Split Java Basics - Anfänger-Themen 3
S String - Gegenteil von Split? Java Basics - Anfänger-Themen 2
L Java: split und trim Java Basics - Anfänger-Themen 6
D String.split(".") geht nicht? Java Basics - Anfänger-Themen 3
M split arbeitet nicht richtig Java Basics - Anfänger-Themen 2
D Split Java Basics - Anfänger-Themen 11
Eldorado Fehler bei String.split Java Basics - Anfänger-Themen 4
S String Split ohne Zeichen abzuschneiden Java Basics - Anfänger-Themen 7
MQue split()- Methode Java Basics - Anfänger-Themen 10
B Split() Funktion Java Basics - Anfänger-Themen 5
M String splitten mit split() Java Basics - Anfänger-Themen 4
T .split(";") nicht gleich große arrays werden erzeu Java Basics - Anfänger-Themen 2
B String ordentlich trennen (regex, split())? Java Basics - Anfänger-Themen 11
J Problem mit Split und String Java Basics - Anfänger-Themen 3
G Probleme mit Split Java Basics - Anfänger-Themen 5
M String.split() und StringTokenizer Java Basics - Anfänger-Themen 2
ARadauer String.split -> unterschiedliche längen Java Basics - Anfänger-Themen 2
H Split läuft nicht wie ich will Java Basics - Anfänger-Themen 4
I <String>.split()? Java Basics - Anfänger-Themen 2
I String, Split, match, wo liegt mein Fehler ? Java Basics - Anfänger-Themen 4
S Worthäufigkeiten zählen nach String.split() Java Basics - Anfänger-Themen 5
F String split-Methode Java Basics - Anfänger-Themen 12
M split() mit anzahl zeichen Java Basics - Anfänger-Themen 2
R split ist komisch Java Basics - Anfänger-Themen 2
G Bei split die regex erhalten Java Basics - Anfänger-Themen 6
P Probleme mit split Java Basics - Anfänger-Themen 4
Q String split bei "" Java Basics - Anfänger-Themen 4
G Problem mit String.split(""); Java Basics - Anfänger-Themen 2
M Problem Dateiarbeit: split und trim Java Basics - Anfänger-Themen 4
C Collection in Verbindung mit String.split speicherlastig Java Basics - Anfänger-Themen 20
C String.split("") einzelne Positionen abfragen Java Basics - Anfänger-Themen 10
D String mit split teilen und leere Felder behalten Java Basics - Anfänger-Themen 4
O String mit split zerlegen Java Basics - Anfänger-Themen 6
G Split Operation: ein oder mehrere Leerzeichen Java Basics - Anfänger-Themen 7
E Was ist bei split() los? Java Basics - Anfänger-Themen 2
F Split und Satzzeichen Java Basics - Anfänger-Themen 2
M Split nur mit einem Kriterium? Java Basics - Anfänger-Themen 4
G Split String Java Basics - Anfänger-Themen 2
G BufferedReader - split-Methode Java Basics - Anfänger-Themen 6
G Habe bei String kein split()? Java Basics - Anfänger-Themen 7
B try & catch Problem mit Exception bzw String.split() Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben