Java: Split mit Punkt str.split(".") funktioniert nicht
Frage von Gast | 24.09.2013 um 16:57
Ich habe ein komisches Problem in einem Java-Programm von mir, das mir nun schon Stunden an Zeit gekostet hat. Ich versuche einen String an einem Zeichen zu trennen, also die klassische explode bzw. in Java split Funktion.
Während das hier einwandfrei funktioniert
String str = "1;2;3"; String[] sarr = str.split(";");
versagt die Funktion aus mir unerklärlichen Gründen, sobald ich als Separator einen Punkt angebe:
String str = "1.2.3"; String[] sarr = str.split(".");
Was kann ich tun? Leider muss ich an einem Punkt trennen und die Lösung die Zeichen in dem String vorher in ein anderes Zeichen das funktioniert zu ersetzen, gefällt mir ganz und gar nicht.
Ähnliche Themen
Java: Leere Felder in Split-Array behalten
Tipp | 1 Kommentar
PHP: String vorne oder hinten mit beliebigen Zeichen auf bestimmte Länge auffüllen
Tipp | 3 Kommentare
Java: Größer/Kleiner-Vergleich von Strings - The operator > is undefined for the argument type(s) java.lang.String
Frage | 1 Antwort
Was haben sich solche für Titel gegeben die als "Radikalfeministin" bezeichnet werden können?
Offene Frage | 0 Antworten
JavaScript: Wörter in einem String zählen
Tipp | 1 Kommentar
Würgegeräusche als "mobbendes Verhalten", Erklärungen gesucht?
Offene Frage | 0 Antworten
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
Die split-Funktion in Java erwartet einen regulären Ausdruck (RegEx) als Parameter. Deswegen wird dein "." auch als regulärer Ausdruck interpretiert und in der Welt der regulären Ausdrücke ist ein Punkt ein Sonderzeichen, das für jedes beliebige andere Zeichen stehen kann. Deswegen funktioniert das Trennen in deinem Fall nicht.
Damit es funktioniert, probiere es einmal so:
Durch das vorangestellte \\ wird der Punkt escaped und nicht mehr als Sonderzeichen behandelt.
24.09.2013 um 20:26