String [][] mit .split

Nachtschatten

Aktives Mitglied
Hallo,
Ich habe volgendes Problem. Ich möchte gerne gerne ein mehrdimensionales Array mit der split Funktion füllen.
Wie
Java:
String [] spaltenNamen = 
("Filiale, Mitarbeiter, Quatal 1, Quatal 2, Quatal 3, Quatal 4, Summe".split(", "));
Nur eben für dieses Array
Java:
String[][] data = { { "HD", "6", "10", "12", "8", "15", "" },
		{ "MA", "10", "15", "10", "10", "10", "" },
		{ "F", "2", "5", "6", "4", "5", "" },
		{ "SB", "4", "5", "5", "5", "5", "" },
		{ "KA", "16", "20", "22", "28", "25", "" },
		{ "Summe", "", "", "", "", "", "" } };

Leider wiedersetzt es sich meinen Versuchen bisher. Hat einer einen Tipp für mich ?
 
Zuletzt bearbeitet:

VfL_Freak

Top Contributor
Moin,

Hallo,
Ich habe folgendes Problem. Ich möchte gerne gerne ein mehrdimensionales Array mit der split Funktion füllen.
Wie
Java:
String [] spaltenNamen = ("Filiale, Mitarbeiter, Quatal 1, Quatal 2, Quatal 3, Quatal 4, Summe".split(", "));
Nur eben für dieses Array
Java:
String[][] data = { { "HD", "6", "10", "12", "8", "15", "" },
		{ "MA", "10", "15", "10", "10", "10", "" },
		{ "F", "2", "5", "6", "4", "5", "" },
		{ "SB", "4", "5", "5", "5", "5", "" },
		{ "KA", "16", "20", "22", "28", "25", "" },
		{ "Summe", "", "", "", "", "", "" } };

Leider wedersetzt es sich meinen Versuchen bisher. Hat einer einen Tipp für mich ?

vlt. so?
Java:
String[][] data = { { "HD", "6", "10", "12", "8", "15", "" }.split(", "),
	{ "MA", "10", "15", "10", "10", "10", "" }.split(", "),
	{ "F", "2", "5", "6", "4", "5", "" }.split(", "),
	{ "SB", "4", "5", "5", "5", "5", "" }.split(", "),
	{ "KA", "16", "20", "22", "28", "25", "" }.split(", "),
	{ "Summe", "", "", "", "", "", "" }.split(", ") };
ist aber ungetestet .... :D

Wäre es nicht übersichtlicher/schöner/besser/sicherer, erst die einzelnen Teilstrings zu splitten und die Results dann einzufügen?

Gruß
Klaus
 
S

SlaterB

Gast
man kann doch nicht .split(", ") in fremden Code an eine Array-Deklaration anfügen, das ist gar kein String ;)
 

VfL_Freak

Top Contributor
oops - stimmt .... Du hast natürlich Recht!
Ich mach' wohl besser für heute Feierabend :D

Bleibt die spannende Frage, was überhaupt gesplittet werden soll :bahnhof:

Gruß
Klaus
 

Nachtschatten

Aktives Mitglied
Java:
String [] spaltenNamen = 
("Filiale, Mitarbeiter, Quatal 1, Quatal 2, Quatal 3, Quatal 4, Summe".split(", "));

Den Array nimt er ja ohne Probleme. Mache meine Arrays immer so.
Nur jetzt im zweidimensionalen krieg ich das so nicht hin.
Da ich schreibfaul bin würde ich gerne die Anfürungszeichen weglassen.

Mit .(split“ „) geht es ja auch wenn ich anstelle des Koma ein zweites Leerzeichen einfüge.
Wird dann nur etwas unübersichtlich.
 
Zuletzt bearbeitet:
S

SlaterB

Gast
bisher bist du so schreibfaul, dass niemand weiß, was du zu einem zweidimensionalen Array splitten willst,
hast du denn nicht einen konkreten String als Vorlage, oder kannst du sogar dessen Inhalt noch bestimmen?
sind da 100 Einträge hintereinander weg, die du zu einem 10x10-Array machen willst, oder gibt es Zeilenumbrüche,
Anführungszeichen, Klammern, sonstige Zeilenmarkierungen, vielleicht schon 10 getrennte Strings,
überlegst du wie gesagt noch wie diese/r String/s aussehen sollen
und und und oder oder oder

nichts ist klar, nichts kann beantwortet werden
 
H

hüteüberhüte

Gast
str.split("[\\n, ]")
splitted bei einem der drei Zeichen (newline, Komma oder space), wenn sich alles in str befindet. Ein Array mit 100 Elementen kann dann in ein 10x10Array umgewandelt werden.
Ob das gewollt ist? Also welche Eingabe gibt es, wie soll die Ausgabe sein
 

Nachtschatten

Aktives Mitglied
Sry, dachte das mit dem Zweidimensionalen Array ginge aus dem String[][] hervor.
Ich möchte das zweidimensionale Array
Dieses
Java:
String[][] data = { { "HD", "6", "10", "12", "8", "15", "" },
		{ "MA", "10", "15", "10", "10", "10", "" },
		{ "F", "2", "5", "6", "4", "5", "" },
		{ "SB", "4", "5", "5", "5", "5", "" },
		{ "KA", "16", "20", "22", "28", "25", "" },
		{ "Summe", "", "", "", "", "", "" } };
Im selben Stiel haben wie dieses.
Java:
String [] spaltenNamen = 
("Filiale, Mitarbeiter, Quatal 1, Quatal 2, Quatal 3, Quatal 4, Summe".split(", "));
Also ohne alles in Anführungszeichen packen zu müssen und mit Komas zu versehen.
Wobei ich in diesem Fall der Übersicht halber wohl doch Komas nehmen würde.
 
S

SlaterB

Gast
dann mache es doch?
liegt etwa für die erste Zeile nicht
Java:
        String[][] data = {  "HD, 6, 10, 12, 8, 15, ".split(", ") ,
                            { "MA", "10", "15", "10", "10", "10", "" },
                            { "F", "2", "5", "6", "4", "5", "" },
                            { "SB", "4", "5", "5", "5", "5", "" },
                            { "KA", "16", "20", "22", "28", "25", "" },
                            { "Summe", "", "", "", "", "", "" } };
nahe?
in jeder Zeile split() coden zu müssen ist vielleicht nicht so schön, aber so fängt es an,

wenn es in Frage kommt irgendwo eine separate Methode zu deklarieren,
könnte es schöner in der Form
Java:
        String[][] data = split( "HD, 6, 10, 12, 8, 15, " , 
                                 zeile2,
                                 zeile3);
aussehen

nur Leerzeichen statt Komma als Trenner wären auch denkbar,
nur leere Zellen vielleicht schwerer erkennbar,
 

Nachtschatten

Aktives Mitglied
Da die Array für eine JTable sind und die Leeren Stellen am Ende jeder Zeile sowie in der Zeile Summe sind. Denke ich auch das es hier besser ist ein Koma zu setzten als 2 Leerzeichen und eins für den split. Gerade bei Summe ist das alles andere als übersichtlich.

Eine Möglichkeit split am Ende zu setzen gibt es nicht ? Also jede Zeile spliten ?
 
S

SlaterB

Gast
in der Standard-API gibt es keine Methode die mit nur einem Aufruf ein String[][] erstellt, nein,

aber wie gesagt könntest du mit einer eigenen Methoden, darin relativ viel Code, mindestens eine Schleife über die Parameter,
die Syntax der Deklaration freundlicher gestalten

so wie fast immer und überall gilt:
steht irgendwo was kurzes, auch String.split(), dann führt das zu einer Methode in der der längerer Code steht,
das ist ein, wenn nicht DER wesentliche/r Pfeiler der Programmierung
 
H

hüteüberhüte

Gast
Slater meint das folgendermaßen mit der zusätzlichen splitMethode:
Java:
    public static void main(String[] args) {
        String[][] strArr = split2(new String[]  {
                    "HD,     6, 10, 12,  8, 15, ",
                    "MA,    10, 15, 10, 10, 10, ",
                    "F,      2,  5,  6,  4,  5, ",
                    "SB,     4,  5,  5,  5,  5, ",
                    "KA,    16, 20, 22, 28, 25, ",
                    "Summe,   ,   ,   ,   ,   , "}, ",\\s+");
        for (String[] s : strArr) {
            System.out.println(java.util.Arrays.toString(s));
        }
    }

    public static String[][] split2(String[] strArr, String regex) {
        String[][] result = new String[strArr.length][];
        for (int i = 0; i < result.length; i++) {
            result[i] = strArr[i].split(regex);
        }
        return result;
    }
...aber ob das weniger Tipparbeit ist sei mal dahingestellt...

Oder auch so, wenn es eine bestimmte Anzahl an Spalten gibt:
Java:
    public static void main(String[] args) {
        String[][] strArr = split2(new String[]  {
                    "HD,     6, 10, 12,  8, 15, ",
                    "MA,    10, 15, 10, 10, 10, ",
                    "F,      2,  5,  6,  4,  5, ",
                    "SB,     4,  5,  5,  5,  5, ",
                    "KA,    16, 20, 22, 28, 25, ",
                    "Summe,   ,   ,   ,   ,   , "}, ",\\s+", 7, "");
        for (String[] s : strArr) {
            System.out.println(java.util.Arrays.toString(s));
        }
    }

    public static String[][] split2(String[] strArr, String regex, int linLength, String val) {
        String[][] result = new String[strArr.length][];
        for (int i = 0; i < result.length; i++) {
            result[i] = new String[linLength];
            String[] s = strArr[i].split(regex);
            int j = 0;
            for (; j < s.length && j < linLength; j++) {
                result[i][j] = s[j];
            }
            for (; j < linLength; j++) {
                result[i][j] = val;
            }
        }
        return result;
    }
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
I String.split regex Frage Java Basics - Anfänger-Themen 2
S String split Java Basics - Anfänger-Themen 12
Dimax String Split Java Basics - Anfänger-Themen 2
S Methoden String: split Java Basics - Anfänger-Themen 5
MR._FIRE_Flower String.split("(") geht nicht Java Basics - Anfänger-Themen 4
C Gleichung String Split Java Basics - Anfänger-Themen 6
G String.split(".") Java Basics - Anfänger-Themen 3
A String Split Java Basics - Anfänger-Themen 4
K How to split my String Java Basics - Anfänger-Themen 2
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
vandread String.split("\\") führt zu Error?! Java Basics - Anfänger-Themen 8
B Array fehler bei string split Java Basics - Anfänger-Themen 4
L Methoden String.split nach Absätzen? Java Basics - Anfänger-Themen 8
S Split String für | Java Basics - Anfänger-Themen 2
R String Delimiter (Split) einlesen Java Basics - Anfänger-Themen 9
0 String split und replace geht nicht Java Basics - Anfänger-Themen 17
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
J String split-Funktion und Integer Java Basics - Anfänger-Themen 13
S String - Gegenteil von Split? Java Basics - Anfänger-Themen 2
D String.split(".") geht nicht? Java Basics - Anfänger-Themen 3
Eldorado Fehler bei String.split Java Basics - Anfänger-Themen 4
S String Split ohne Zeichen abzuschneiden Java Basics - Anfänger-Themen 7
M String splitten mit split() Java Basics - Anfänger-Themen 4
S String split array.length Problem Java Basics - Anfänger-Themen 3
B String ordentlich trennen (regex, split())? Java Basics - Anfänger-Themen 11
J Problem mit Split und String Java Basics - Anfänger-Themen 3
M String.split() und StringTokenizer Java Basics - Anfänger-Themen 2
ARadauer String.split -> unterschiedliche längen Java Basics - Anfänger-Themen 2
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
Q String split bei "" Java Basics - Anfänger-Themen 4
G Problem mit String.split(""); Java Basics - Anfänger-Themen 2
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 String Java Basics - Anfänger-Themen 2
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
G Brauche Hilfe, mit String.split() Java Basics - Anfänger-Themen 15
G String Split Java Basics - Anfänger-Themen 12
J Probleme bei String.split Java Basics - Anfänger-Themen 6
F string.split und regAusdruck Java Basics - Anfänger-Themen 4
S String.split("|") Java Basics - Anfänger-Themen 4
O eine frage/problem zu string.split() Java Basics - Anfänger-Themen 2
krgewb String mit Datumsangabe in Long umwandeln Java Basics - Anfänger-Themen 2
D String Groß/Kleinschreibung Ignorieren Java Basics - Anfänger-Themen 4
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
J Ähnlichen String in Liste finden Java Basics - Anfänger-Themen 6
Kartoffel_1 String transformation Java Basics - Anfänger-Themen 7
H String-Operation replace() - Zeichenkette verdoppeln Java Basics - Anfänger-Themen 2
K String analysieren Java Basics - Anfänger-Themen 27
Beowend String zu Date parsen Java Basics - Anfänger-Themen 1
Beowend String auf Satzzeichen überprüfen? Java Basics - Anfänger-Themen 6
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
String in ArrayList umwandeln Java Basics - Anfänger-Themen 1
I Sass Compiler und String erhalten? Java Basics - Anfänger-Themen 7
Avalon String in Double bzw. Währung konvertieren Java Basics - Anfänger-Themen 6
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
F Arraylist<String>Ein Wort pro Zeile Java Basics - Anfänger-Themen 6
J Schlüsselworte Prüfen, ob ein bestimmtes, ganzes Wort in einem String enthalten ist. Java Basics - Anfänger-Themen 6
N String überprüfen Java Basics - Anfänger-Themen 3
E String zerlegen aus args Java Basics - Anfänger-Themen 1
M Long-Typ in String-Änderung führt zu keinem Ergebnis bei großer Zahl Java Basics - Anfänger-Themen 11
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
J String Filter Java Basics - Anfänger-Themen 5
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Größter zusammenhängender Block gleicher Zeichen im String Java Basics - Anfänger-Themen 1
XWing Randomizer mit einem String Java Basics - Anfänger-Themen 2
D 2D Char Array into String Java Basics - Anfänger-Themen 2
H Cast von Float nach String klappt nicht Java Basics - Anfänger-Themen 12
I Zerlegen von String Java Basics - Anfänger-Themen 3
B Beliebiger String gegeben Suche Datum in String Java Basics - Anfänger-Themen 6
I String Java Basics - Anfänger-Themen 4
I API - zurückgegebener JSON String lesen und in Entity konvertieren Java Basics - Anfänger-Themen 2
H Zu langen String aufteilen - bequeme Methode? Java Basics - Anfänger-Themen 14
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
M Kommandozeilenparamter als EINEN String werten Java Basics - Anfänger-Themen 5
M RandomAccessFile int und String gleichzeitig in einer Datei Java Basics - Anfänger-Themen 49
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
Distanz zwischen zwei Zeichenfolgen in einem String bestimmen Java Basics - Anfänger-Themen 5
Substring in einem String finden Java Basics - Anfänger-Themen 13
BeginnerJava String mit vorgegebener Länge und Buchstaben erzeugen/ mit Leerstellen Java Basics - Anfänger-Themen 8
I Eindeutiger String mit maximaler Anzahl an Zeichen Java Basics - Anfänger-Themen 11
H Interface Wieso "List<String> list = new ArrayList<>[…]" Java Basics - Anfänger-Themen 4
JavaBeginner22 Integer in String umwandeln Java Basics - Anfänger-Themen 7
HolyFUT JSON String in Java Object schreiben - Anführungszeichen rauskriegen? Java Basics - Anfänger-Themen 17
Fodoboo131 RegEx- Umwandlung von String in ausführbares Objekt/ Befehl Java Basics - Anfänger-Themen 9
HolyFUT Input/Output Leerzeichen aus String entfernen - klappt nicht! Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben