Jun 17

Selbstverständlich hält die Klasse Scanner auch eine Methode bereit, die statt dem default-Trennzeichen ‘ ‘ ein anderes Zeichen oder einen String als Trennzeichen definiert:

List <String> SplitArray = new ArrayList<String>();

Scanner s = new Scanner (“true wird auch nach 2 Wiederholungen nicht FALSE”);
s.useDelimiter(“\\d”);
// Bestimmung der Trennung
while (s.hasNext()){

if (s.hasNext())

SplitArray.add(s.next());

}

for (int i = 0; i < SplitArray.size(); i++)

System.out.println(SplitArray.get(i));

Die Ausgabe ist demnach

true wird auch nach
Wiederholungen nicht FALSE

true wird auch nach
Wiederholungen nicht FALSE
Tagged with:
Jun 15

Da Scanner quasi der Ferrari der Aufsplittung ist, gibt es hier noch recht viele andere Möglichkeiten, z.B. die Unterscheidung nach gefundenen Objekten, bzw deren primitiven Datentypen:

List <String> SplitArray_String = new ArrayList<String>();
List <Integer> SplitArray_int = new ArrayList<Integer>();
List <Boolean> SplitArray_boolean = new ArrayList<Boolean>();

Scanner s = new Scanner (“true wird auch nach 100 Wiederholungen nicht FALSE”);


while (s.hasNext()){
// übliche Schleife zur Überprüfung auf weitere Werte

if (s.hasNextInt()) // Falls der nächste gefundene “Teilstring” ein int-Wert ist …

SplitArray_int.add(s.nextInt()); // … füge es der Liste mit den Int-Werten hinzu

if (s.hasNextBoolean()) // Falls der nächste gefundene “Teilstring” ein boolean-Wert ist …

SplitArray_boolean.add(s.nextBoolean()); // … füge es der Liste mit Boolean-Werten hinzu

else // Falls beides nicht zutrifft …

SplitArray_String.add(s.next()); // … füge es der Liste mit Strings hinzu

}

System.out.println(“\nString List: “); // Ausgabe der String-Liste
for (int i = 0; i < SplitArray_String.size(); i++)

System.out.println(SplitArray_String.get(i));


System.out.println(“\nInteger List “); // Ausgabe der Int-Liste
for (int i = 0; i < SplitArray_int.size(); i++)

System.out.println(SplitArray_int.get(i));


System.out.println(“\nBoolean List “); // Ausgabe der Boolean-Liste
for (int i = 0; i < SplitArray_boolean.size(); i++)

System.out.println(SplitArray_boolean.get(i));

Die Ausgabe ist demnach:

String List:
wird
auch
nach
Wiederholungen
nicht

Integer List
100

Boolean List
true
false

Tagged with:
Jun 14

Was ist der Output des folgenden Codes?

String name = “Dies5ist ein4 TestString 6″;
String[ ] SplitString=name.split(“\d”);
for (String s : SplitString)

System.out.println(s);


Antwort/ answer

Tagged with:
Jun 13

Mit Scanner können nicht nur Zeichenketten gefunden, sondern auch zerlegt werden:

List <String> SplitArray = new ArrayList<String>();
Scanner s = new Scanner (“Dies ist ein Beispiel”);

while (s.hasNext())

SplitArray.add(s.next());

for (int i = 0; i < SplitArray.size(); i++)

System.out.println(SplitArray.get(i));

Wenn kein Zeichen angegeben wurde, nimmt Scanner an, dass Leerzeichen die Trennzeichen darstellen.

Die Ausgabe ist folglich:

Dies
ist
ein
Beispiel

Tagged with:
Jun 11

Wie immer gibt es auch im Zusammenhang mit Strings einige Tücken.

Will man z.B. anhand von “.” splitten, ist Vorsicht geboten:

String suchstring = “www.java.silke-wingens.de”;
String [] aufsplittung = suchstring.split(“.”);

for (String s : aufsplittung)

System.out.println(s);

Der Code compiliert einfandfrei, es gibt aber keine Ausgabe. Dies liegt daran, dass ja “.” als Ersatz für jeden anderen Charakter dient. Er benötigt aber um richtig zu funktionieren, einen weiteren Charakter, z.B.

String [] aufsplittung = suchstring.split(“w.”);

Hier wäre dann die Ausgabe:

<leer>
<leer>
java.silke-
ngens.de

Die mit <leer> bezeichnete Ausgabe ist in Wirklichkeit ” ” und hängt mit zwei aufeinanderfolgenden “w.” zusammen.

Ok, “.” haben wir jetzt verstanden, aber was ist mit der Trennung bei “.”?

Damit der Compiler zwischen dem Zeichen “.” und dem Ersatz für ein beliebiges Zeichen unterscheiden kann, muss bei dem Zeichen noch “\\” vorangestellt werden:

String [] aufsplittung = suchstring.split(“\\.”);

Nun erhalten wir die gewünschte Ausgabe:

www
java
silke-wingens
de

Tagged with:
Jun 09

Heute möchte ich erklären, wie man einen String in mehrere Strings aufsplitten kann:

String suchstring = “ck1ck2kck4ck”; // zu splittender String
String [] aufsplittung = suchstring.split(“k”); // Aufsplittung des Strings in einzelne Strings; Trennung bei “k”

for (String s : aufsplittung)

System.out.println(s); // Ausgabe

Folglich ist die Ausgabe:

c
1c
2
c
4c

Tagged with:
preload preload preload
http://www.wikio.de Blog Top Liste - by TopBlogs.de Blogverzeichnis - Blog Verzeichnis bloggerei.de Bloggeramt.de Software
Webbhotell Top Blogs