String mit ; splitten und zuweisen?

Status
Nicht offen für weitere Antworten.

EOB

Top Contributor
hallo, sagen wir mal, ich habe einen string in dieser art:

wert1;wert2;wert3;wert4

es koennen maximal 4 werte sein, jeweils mit semikolen getrennt. jetzt moechte ich jeden dieser werte einer variablen zuweisen. dazu splitte ich das am ; und weise dann so zu:

Code:
String wert1=array[0];
String wert2=array[1];
String wert3=array[2]
String wert4=array[3]

kein thema. was mach ich aber, wenn nur 2 werte da sind, also wert1;wert2 zum beispiel? wie mach ich das, dass dann eben nur die ersten beiden variablen mit den werten aus dem array initialisiert werden und die anderen beiden mit nem leeren string? scheint leicht...aber ich komm nicht drauf :-|

danke :)
 

Wildcard

Top Contributor
besser du würdest sie im Array lassen...
Ansonsten müsstest du Code für jede möglich Anzahl schreiben oder das hässlich über Reflection lösen.
 

Wildcard

Top Contributor
Bei 4 geht's ja noch, aber wie sieht das erst aus wenn's mehr Strings werden?
Dann bleibt dir echt nur noch Reflection, und das ist halt etwas unschön.
 

Azrahel

Bekanntes Mitglied
Code:
String splitPattern = (";");
Pattern p = Pattern.compile(splitPattern); 
String[] key = p.split(zeile); 
System.out.println(key[0] + "-" + key[1] + "-" + key[2] + "-" + key[3]);

Müsste das nicht machen was du willst?
 

EOB

Top Contributor
du hast ja recht, aber wie kann ich die denn im array lassen, wenn ich sie dann setzten muss? ich setze die ja mittels:

Code:
bean.setWert1(wert1);

etc

da muss ich sie ja auch wissen, bzw. wissen, ab wann ich eben statt einem arrayelement einen leeren string adde....weisst du was ich meine?

vielen dank erstmal!! :)
 

EOB

Top Contributor
@Azrahel: das ist nicht das problem....das problem ist, dass ich nicht weiss, wie viele werte da sind und wie viele nicht.

hm
 

EOB

Top Contributor
also momentan sind es <=4...aber wie es immer so ist, werden es sicher 16, sobald ich eine feste loesung mache...wieso?

gruesse
 

Azrahel

Bekanntes Mitglied
Ja, ich habs grad nochmal gelesen, bei meiner Lösung würden dann wenn keine Zuweisungen mehr vorhanden sind die key[x] glaub ich null sein.

Aber wenn du doch Array hast, kannst du doch mit array.length() alle durchlaufen, und wenn die Liste zuende ist alle die noch fehlen mit Leersting initialisieren?

oder hab ichs immer noch nicht verstanden?[/code]
 

Wildcard

Top Contributor
Bei wenigen Strings machst du's händisch. Wenn das mehr werden können müsstest du Reflection benutzen.
Das geht aber auch nur ohne weiteres wenn die setter durchnummeriert sind.
Kannst du nicht einen var-args Konstruktor in der Model Klasse benutzen, oder so?
Das ganze wird nämlich richtig hässlich.
 

Azrahel

Bekanntes Mitglied
wenn du doch schon aus ner Zeichenkette

wert1;wert2;wert3;wert4

ein Array machst, und nicht weisst wieviele Elemente kommen können, wie kannst du dann sowas machen?

Code:
String wert1=array[0];
String wert2=array[1];
String wert3=array[2]
String wert4=array[3]

Weil das wär ja statisch?? Dann arbeitest du doch besser mit dem Array weiter, oder?

Du kannst dir auch zwei Arrays miteinander verbinden und im ersten immer den Namen (in dem Fall wert1 - wert4) und im zweiten den wert (array[0].toString() - array[3].toString()) ablegen.

Dann kannst du auch über den Namen referenzieren...
 

thomator

Bekanntes Mitglied
Ähm, warum so kompliziert?
Die Länge des Arrays kennst Du doch.

StringTokenizer auf den String kloppen,

mit for die Arrayelemente durchlaufen
in der for-Schleife
Code:
if(ST.hasMoreElements()){
   Array[i] = ST.getNextElement();
}else{
   Array[i] = "";
}

Solte das nicht das tun, was du willst oder hab ich was falsch verstanden?

EDIT: Wohl schon,wie mir beim 2. lesen grad auffällt
 

Azrahel

Bekanntes Mitglied
@thomators nee soo kann das nicht gehen, auf gar keinen fall, das ist ja viel einfacher als meine Lösung, also kann das so nicht gehen.

Aber ich glaub wir haben alle nicht so ganz verstanden wo das Problem denn nun genau zu Hause ist...
 

thomator

Bekanntes Mitglied
Nachdem ich jezuz auch noch 2 mal gelesen habe, was gemacht werden soll schließe ich mich Azrahel an: Du solltest weniger über die Lösung, als viel mehr über das Problem an sich nachdenken. Hier is die Problemstellung an sich schon eine Krücke :cool:
 

Wildcard

Top Contributor
thomator hat gesagt.:
Du solltest weniger über die Lösung, als viel mehr über das Problem an sich nachdenken. Hier is die Problemstellung an sich schon eine Krücke :cool:
Eben. Wenn du es wirklich so durchziehen willst ist eine saubere Lösung nicht machbar.
 
G

Guest

Gast
Also ich würde folgendes nicht machen:

bean.setWert1(String wert)
bean.setWert2(String wert)
bean.setWert3(String wert)
bean.setWert4(String wert)
....

sondern:

Schreib dir ne Klasse mit z.B. einem Vector und dort machst du:

bean.addWert(String wert)
bean.getWert(int position)


Und dann:

Code:
String splitPattern = (";"); 
Pattern p = Pattern.compile(splitPattern); 
String[] key = p.split(zeile);
for(int i=0;i<key.length;i++)
{
bean.addWert(key[i]);
}

Fertig!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L String splitten und multiplizeren Allgemeine Java-Themen 10
G String mit umbekannter länge splitten. Allgemeine Java-Themen 2
V Eingegeben String Splitten und in Integer umwandeln Allgemeine Java-Themen 2
OnDemand String splitten (mit Anfang und Ende) Allgemeine Java-Themen 11
N String zweifach splitten Allgemeine Java-Themen 4
E String splitten Allgemeine Java-Themen 15
E String splitten Allgemeine Java-Themen 7
H String "Splitten" Allgemeine Java-Themen 2
A String splitten Allgemeine Java-Themen 4
S String splitten. Allgemeine Java-Themen 7
P String splitten - wie? Allgemeine Java-Themen 4
E Nochmal komplexen String matchen und splitten Allgemeine Java-Themen 2
C String splitten Allgemeine Java-Themen 3
T String splitten Allgemeine Java-Themen 3
C EML Email Text in String wandeln Allgemeine Java-Themen 11
OnDemand Java String in Hashmap als Key NULL Allgemeine Java-Themen 27
JAnruVA Datentypen Berechneten String-Wert in Double umwandeln um weiter zu rechnen Allgemeine Java-Themen 7
M String Allgemeine Java-Themen 10
M Suche nach String mit unbekannten characters Allgemeine Java-Themen 53
kodela String kann nicht zu Pfad konvertiert werden Allgemeine Java-Themen 16
melaniemueller Einzelne Zeile aus einer txt Datei in einem String speichern Allgemeine Java-Themen 12
E Objekte in einen String packen und wieder laden Allgemeine Java-Themen 5
M Map<String,String>funktioniert nicht richtig Allgemeine Java-Themen 4
O String in Long Hexerdezimal umwandel Allgemeine Java-Themen 14
N String vergleichen. Allgemeine Java-Themen 27
P String.replace() funktioniert nicht? Allgemeine Java-Themen 3
SaschaMeyer Arbeitet String.split falsch? Allgemeine Java-Themen 4
M Switches ohne String Allgemeine Java-Themen 18
AmsananKING String Iteration Allgemeine Java-Themen 5
S Shuffle String aus if-clause Allgemeine Java-Themen 11
Besset Variablen Ist String = "" + int inordnung? Allgemeine Java-Themen 6
M Map <Long, String> zu Map<String, Long> Allgemeine Java-Themen 9
I String Encoding Verständnisproblem Allgemeine Java-Themen 22
N Prüfen, ob ein String 2x das selbe Zeichen hat Allgemeine Java-Themen 10
SaftigMelo Bug Fixen von String-spliten Allgemeine Java-Themen 8
Monokuma String List nach Zahlen und Worten sortieren Allgemeine Java-Themen 9
Kingamadeus2000 Alle mehrfach vorkommenden Buchstaben rekursiv aus einem String entfernen. Allgemeine Java-Themen 6
YohnsonM String - Aufteilung und Nutzung einzelner Chars Allgemeine Java-Themen 7
O Formatierte String ausgabe bei vier Variablen in einer Zeile Allgemeine Java-Themen 1
S String umbenennen: wie? Allgemeine Java-Themen 4
x46 String Format Fehler Allgemeine Java-Themen 2
S ISO 8601 -> getter / setter String Allgemeine Java-Themen 3
L String zu repräsentativen Wert Allgemeine Java-Themen 0
H Array mit dem Datentype String[] initializieren Allgemeine Java-Themen 7
L ArrayList mit String Arrays in ein Array umwandeln Allgemeine Java-Themen 1
L regex ganzer string? Allgemeine Java-Themen 2
L Ist ein string ein erlaubter variabel name? Allgemeine Java-Themen 2
Z JNA Cpp-DLL String Verwendung Allgemeine Java-Themen 2
A String auf Zahlen überprüfen Allgemeine Java-Themen 5
N String Array Eingabe Allgemeine Java-Themen 6
MiMa Datum von String zu LocalDateTime Allgemeine Java-Themen 8
W String -> byte[] -> String - Sieht jemand was ich nicht sehe? Allgemeine Java-Themen 10
R char aus String entfernen Allgemeine Java-Themen 10
LimDul Mittels Streams aus Strings A B C den String A, B und C machen Allgemeine Java-Themen 12
M Programm erkennt String aus .txt Datei nicht Allgemeine Java-Themen 3
P einen public <Optinal String> in einer anderen Klasse mit einem Int vergleichen Allgemeine Java-Themen 2
S Ini Text aus String parsen Allgemeine Java-Themen 1
T String-Manipulation beim Ablauf in Eclipse und als JAR-File Allgemeine Java-Themen 8
M String lässt sich nicht Zusammenfügen Allgemeine Java-Themen 10
Drachenbauer Wie kann ich das Wort "concrete" in einem String durch ein anderes Wort ersetzen lassen? Allgemeine Java-Themen 5
R Schlüsselworte "Throw new exception" gibt nicht den String als Fehlermeldung aus Allgemeine Java-Themen 2
R Variablen String mit split-Funktion aufteilen Allgemeine Java-Themen 7
F Datei in String-Array einlesen Allgemeine Java-Themen 8
S Marker aus String ermitteln Allgemeine Java-Themen 5
T Objekt mit String und Int aus TxT Datei erstellen Allgemeine Java-Themen 23
M Bei String.format ein Komma statt einem Punkt ausgeben lassen Allgemeine Java-Themen 1
S MSSQL Exception & Connection String Allgemeine Java-Themen 19
B Bei Email: FW / AW... - Hilfe bei String suche Allgemeine Java-Themen 21
J String - Vergleiche Allgemeine Java-Themen 7
K Aus String zwei Jahreszahlen auslesen Allgemeine Java-Themen 18
Drachenbauer Wie kann eine vorgegebene Farbe über einen String erkannt werden? Allgemeine Java-Themen 11
G CSV in String Allgemeine Java-Themen 7
P String-Verschlüsselung - Frage zur Sicherheit Allgemeine Java-Themen 21
K Methodenaufruf mit String / String zu Objekt konvertieren Allgemeine Java-Themen 8
D Erste Schritte Fehler mit negativen und 0 Zahlen im String Allgemeine Java-Themen 6
Xge Replace x Zeichen aus String Allgemeine Java-Themen 2
coolian warum bekomme ich ein string index out of bounds exception Allgemeine Java-Themen 17
F In String 2 Buchstaben vertauschen Allgemeine Java-Themen 2
J Class Decompile als String (Procyon) Allgemeine Java-Themen 2
I Datentypen String in class sicher verwahren Allgemeine Java-Themen 17
J Falls der String ein "X" beinhaltet Allgemeine Java-Themen 2
T String mehrere Worte Allgemeine Java-Themen 2
D String Groß-/Kleinschreibung Allgemeine Java-Themen 2
D String und Klassenvariable Allgemeine Java-Themen 6
Aruetiise Funktion(y = mx+n) in String speichern und berechnen Allgemeine Java-Themen 9
C String in Objektnamen umwandeln Allgemeine Java-Themen 3
E Variablen Aus .txt ausgelesener string mit if() überprüfen? Allgemeine Java-Themen 2
L String-Schema-Aufspaltung Allgemeine Java-Themen 2
E String in Zahl umwandeln, ohne Befehl Integer.parseInt Allgemeine Java-Themen 3
S Einzigartigen String in Datenbank finden und löschen Allgemeine Java-Themen 23
A Byte zu String Allgemeine Java-Themen 4
B Von String zu <Objekt> ||Speichern/Laden Allgemeine Java-Themen 17
T Komplexitätsoptimierung String vergleich Allgemeine Java-Themen 4
heinz ketchup String im JLabel ausgeben und erneuern Allgemeine Java-Themen 6
S Input/Output Beste Möglichkeit einen String in einen Datei zu Schreiben Allgemeine Java-Themen 2
L Decrypt String Allgemeine Java-Themen 1
X Variablen AtmicLong größer als String ? Allgemeine Java-Themen 4
S String literal und Referenzvariablen Allgemeine Java-Themen 6
J Datentypen Absätze mit String im Word Dokument Allgemeine Java-Themen 3
D "Paste" String doppelt Allgemeine Java-Themen 14

Ähnliche Java Themen


Oben