Hallo Freunde,
ich habe ein Problem mit Regex. Ich lese eine Zeile aus einer Datei und splitte danach vorerst in 2 Teile. Die Datei hat diese Beschaffenheit:
..
application/xhtml+xml xhtml xht
application/xml xml xsl xsd
application/xml-dtd
..
Dabei wird der linke Teil und der rechte teil seperiert. Einziges Problem:
Bei Ausgabe von mat.group(1) (Sprich: Der erste Teil, wobei 0 das gesamte ist und auch schon Probleme macht) passiert es oft (nicht immer), dass der erste Buchstabe fehlt.
Die Ausgabe sieht dann so aus:
..
model/iges
odel/mesh
odel/vrml
text/calendar
ext/css
..
Erklärlich ist mir das nicht. Hier mal mein Problemcodeschnipsel:
Das erste System.out gibt noch korrekte Werte aus. Das zweite dann nicht mehr.
Hat da vll. jemand eine Problemlösung, da durch rumprobieren irgendwie entweder nicht mehr funktioniert hat, oder sich nicht geändert hat.
Liebe Grüße, D
ich habe ein Problem mit Regex. Ich lese eine Zeile aus einer Datei und splitte danach vorerst in 2 Teile. Die Datei hat diese Beschaffenheit:
..
application/xhtml+xml xhtml xht
application/xml xml xsl xsd
application/xml-dtd
..
Dabei wird der linke Teil und der rechte teil seperiert. Einziges Problem:
Bei Ausgabe von mat.group(1) (Sprich: Der erste Teil, wobei 0 das gesamte ist und auch schon Probleme macht) passiert es oft (nicht immer), dass der erste Buchstabe fehlt.
Die Ausgabe sieht dann so aus:
..
model/iges
odel/mesh
odel/vrml
text/calendar
ext/css
..
Erklärlich ist mir das nicht. Hier mal mein Problemcodeschnipsel:
Code:
// Save types and extensions in array
while (reader.read() != -1) {
String line = reader.readLine();
System.out.println(reader.readLine());
if (line != null) {
Pattern pat = Pattern.compile("^([^/]+/[^\t]+)[\t]+([^$]+)");
Matcher mat = pat.matcher(line);
if (mat.find()) {
System.out.println(mat.group(1));
Das erste System.out gibt noch korrekte Werte aus. Das zweite dann nicht mehr.
Hat da vll. jemand eine Problemlösung, da durch rumprobieren irgendwie entweder nicht mehr funktioniert hat, oder sich nicht geändert hat.
Liebe Grüße, D