regular expression - suche nach |

S

skYchen

Mitglied
Hallo,

ich habe eine Datei, welche ich analysieren will. Ich suche alle Zeilen die etwa so aussehen (Auszug):
Code:
|1   |A|16  |32  |128 |0   |208 |5   |1   |1023 |0    |
|2   |A|16  |32  |128 |0   |204 |2   |0   |1023 |0    |
|3   |A|16  |32  |128 |0   |183 |0   |0   |1023 |0    |
|4   |A|16  |32  |128 |0   |0   |5   |1   |1023 |0    |
|5   |A|16  |32  |128 |0   |80  |2   |0   |1023 |0    |
|6   |A|16  |32  |128 |0   |84  |2   |0   |1023 |0    |
|7   |A|16  |32  |128 |0   |32  |5   |1   |1023 |0    |
|8   |A|16  |32  |128 |0   |48  |5   |1   |1023 |0    |
|9   |A|16  |32  |128 |0   |164 |2   |0   |1023 |0    |
|10  |A|16  |32  |128 |0   |160 |2   |0   |1023 |0    |
|11  |A|16  |32  |128 |0   |108 |2   |0   |1023 |0    |
|12  |A|16  |32  |128 |0   |116 |2   |0   |1023 |0    |
|13  |A|16  |32  |128 |0   |112 |2   |0   |1023 |0    |
|14  |A|16  |32  |128 |0   |120 |2   |0   |1023 |0    |
|15  |A|16  |32  |128 |0   |124 |2   |0   |1023 |0    |
|16  |A|16  |32  |128 |0   |128 |2   |0   |1023 |0    |
|17  |A|16  |32  |128 |0   |140 |2   |0   |1023 |0    |
|18  |A|16  |32  |128 |0   |136 |2   |0   |1023 |0    |

Leider wfunktioniert das bei mir nicht.
Ich lese die Datei zeilenweise ein und vergleiche jede Zeile mit dem regulären Ausdruck.

Java:
BufferedReader br = new BufferedReader(new FileReader("C:\\test.txt"));
String eingabezeile;
eingabezeile = br.readLine();
Pattern p = Pattern.compile("\\p{Punct}[0-9]([0-9]| ){1,3}"); 
Matcher m; 

while (eingabezeile != null) {
	m =  p.matcher(eingabezeile);
	System.out.println(m.matches());
	
	eingabezeile = br.readLine();
}

Ich weiss nicht, wie ich nach dem | suchen kann? Verwende ich \p{Punct} sagt eclipse "invalid escape sequence",
mit \\p{Punct} finde ich nix und mit [|] geht auch nicht.

Was muss ich machen, damit ich alle oben angegebene Zeilen finde?
 
S

skYchen

Mitglied
So kenne ich es eigentlich auch. Funktioniert nur nicht. Eclipse meint auch da Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )
 
M

Marcinek

Gast
wenn du die Lösung von Nocatrius meinst, dann musst du das \ auch escapen

e.g. "\\|"
 
S

skYchen

Mitglied
Fuktioniert jetzt. Ich finde alle Zeilen, welche genau mit dem | beginnen.
Java:
BufferedReader br = new BufferedReader(new FileReader(filename));
Pattern p = Pattern.compile("\\|");

Was muss ich nun machen, um genau die gefunden Zeilen weiter zu zerlegen (nach jedem |) und in ein 2d-Array speichern?
Ziel soll sein, das am Ende ein 2d-Array existiert, welches alle Zeilen enthält, die mit | anfangen und die Spalten sollen jeweils die Werte (Strings) sein, die nach bzw. vor dem Zeichen | in der Zeile stehen.

Problem dabei ist, ich weiß nicht die Anzahl der Zeilen, diese soll dynamisch sein. Die Spalten sind fix.

Bsp.:
|1 |A|16 |32 |128 |0 |208 |5 |1 |1023 |0 |aaa
|2 |A|16 |32 |128 |0 |204 |2 |0 |1023 |0 |bbb

-->

array[2][12] = {{"1", "A", "16", "32", "128", "0", "208", "5", "1", "1023", "0", "aaa"}, {"2", "A", "16", "32", "128", "0", "204", "2", "0", "1023", "0", "bbb"}}
 
M

Marcinek

Gast
Der bufferd Input Reader hat eine Methode

getLine oder so..

Damit kannst du deine Zeilen rauslesen.

An deiner Stelle würde ich nach SimpleCSVReader suchen.

Gruß,

Martin
 
Der Müde Joe

Der Müde Joe

Top Contributor
via Collection ?
Java:
String s = "|1   |A|16  |32  |128 |0   |208 |5   |1   |1023 |0    |" +
		"\n|2   |A|16  |32  |128 |0   |204 |2   |0   |1023 |0    |" +
	"\n|3   |A|16  |32  |128 |0   |183 |0   |0   |1023 |0    |";

BufferedReader reader = new BufferedReader(new StringReader(s));
String line = null;

Collection<String[]> result = new LinkedList<String[]>();
while((line = reader.readLine()) != null) {
	String[] blub = line.split("\\|");
	result.add(blub);
}
System.out.println(result.size());
for(String[] strA : result) {
	System.out.println(Arrays.toString(strA));
}
 
Der Müde Joe

Der Müde Joe

Top Contributor
Mach aus Collection<String[]> result =
ein List<String[]> result = und mit result.get(number) gibts die Zeile (das String[]) und dann normal mit Array)

EDIT:
am beseten gleich auch ne ArrayList (beim index zugriff besser)
Java:
List<String[]> result = new ArrayList<String[]>();
//..
String[] zeile1 = result.get(0);
String firstElement = zeile1[0];
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Dimax Erste Schritte Regular Expression Java Basics - Anfänger-Themen 12
L String extrahieren mit Regular Expression über mehrere Zeilen hinweg Java Basics - Anfänger-Themen 1
B Regular Expression bei replace Java Basics - Anfänger-Themen 11
O Regular Expression Java Basics - Anfänger-Themen 4
F Hilfe Regular Expression Grouping Value Java Basics - Anfänger-Themen 3
Y Was macht folgende Regular Expression Java Basics - Anfänger-Themen 2
M Regular Expression - Passwort - aufeinanderfolgende Zeichen Java Basics - Anfänger-Themen 3
S regular expression - bekomme leerzeichen nicht raus Java Basics - Anfänger-Themen 3
J Frage zu Regular Expression Java Basics - Anfänger-Themen 2
P Passwort überprüfen mit regular Expression Java Basics - Anfänger-Themen 4
B Java - Reguläre Ausdrücke - RegEx oder Regular Expressions - Eckige Klammern Java Basics - Anfänger-Themen 2
Burny91 Compiler-Fehler Regular Expressions matchen nicht korrekt Java Basics - Anfänger-Themen 5
R regular expressions Java Basics - Anfänger-Themen 3
eykarhorn Escapen in Regular Expressions Java Basics - Anfänger-Themen 7
G Regular expressions Java Basics - Anfänger-Themen 6
G Regular expressions Java Basics - Anfänger-Themen 3
D Regular Expressions Java Basics - Anfänger-Themen 2
G Regular Expressions Java Basics - Anfänger-Themen 3
P Regular expressions: Liste? Java Basics - Anfänger-Themen 7
J Regular Expressions Java Basics - Anfänger-Themen 5
M Java 8 Lambda Expression Java Basics - Anfänger-Themen 1
J Compiler-Fehler Illegal Start of expression / '/'expected Java Basics - Anfänger-Themen 3
T Not a Statement/Illegal Start of expression bei for Anweisung Java Basics - Anfänger-Themen 6
K Lambda-Expression Java Basics - Anfänger-Themen 4
P ,,Illegal start of expression,, Java Basics - Anfänger-Themen 3
G Reg Expression Java Basics - Anfänger-Themen 6
Z constant expression required Java Basics - Anfänger-Themen 6
K illegal starts of expression Java Basics - Anfänger-Themen 2
S Compiler-Fehler illegal start of expression Java Basics - Anfänger-Themen 4
P illegal start of expression wie löse ich das? Java Basics - Anfänger-Themen 2
P expression tree Java Basics - Anfänger-Themen 4
O Methoden Fehlermeldung(Illegal start of expression) bei 4-Gewinnt-Spiel Java Basics - Anfänger-Themen 5
R illegal start of expression - 3 Strings vergleichen mit .equals () Java Basics - Anfänger-Themen 5
X Compiler-Fehler illegal start of expression Java Basics - Anfänger-Themen 9
T Expression Tree.. identifier + Grundaufbau? Java Basics - Anfänger-Themen 2
P Illegal start of expression Java Basics - Anfänger-Themen 8
O Illegal start of expression Java Basics - Anfänger-Themen 3
L Illegal start of expression? Java Basics - Anfänger-Themen 4
S HTML Regularer Expression Java Basics - Anfänger-Themen 20
R GUI mit if-Verzweigung kombiniert - Illegal start of expression (Dringend) Java Basics - Anfänger-Themen 7
S illegal start of expression Java Basics - Anfänger-Themen 2
B Wieso ein Fehler? illegal Starts of expression? Java Basics - Anfänger-Themen 12
M [Hibernate] "Illegal start of expression"-Fehler b Java Basics - Anfänger-Themen 2
D "Illegal Start of Expression" und "; expected Java Basics - Anfänger-Themen 3
G Immer wieder illegal start of expression Java Basics - Anfänger-Themen 15
M regüläre Ausdrücke, die String - Variablen und Expression Java Basics - Anfänger-Themen 5
D Expression Trees Java Basics - Anfänger-Themen 3
E illegal start of expression Java Basics - Anfänger-Themen 4
I Expression-Fehler Java Basics - Anfänger-Themen 2
S private String text; -> "Illegal start of expression Java Basics - Anfänger-Themen 7
B illegal start of expression Java Basics - Anfänger-Themen 6
S illegal start of expression Java Basics - Anfänger-Themen 2
D switch case must be constant expression Java Basics - Anfänger-Themen 7
L illegal start of expression? Java Basics - Anfänger-Themen 19
F Einem Array Werte zuweisen. (illegal start of expression) Java Basics - Anfänger-Themen 4
J Fehlersuche - illegal start of expression Java Basics - Anfänger-Themen 3
D Illegal start of expression - nur warum ? Java Basics - Anfänger-Themen 3
G Fehler: Illegal Expression. Was mache ich falsch? Java Basics - Anfänger-Themen 4
T Methodenerror:"Illegal start of expression" Java Basics - Anfänger-Themen 7
Y Suche von Studenten anhand Ihrer Eigenschaften. Java Basics - Anfänger-Themen 1
F Auf der Suche in π Java Basics - Anfänger-Themen 13
C Suche Nachhilfe in Java Java Basics - Anfänger-Themen 5
T Binärbaum-Suche Implementation Java Basics - Anfänger-Themen 6
A suche dringend Hilfe!! Java Basics - Anfänger-Themen 6
N Operatoren Schreibtischtest der Reihen-Suche nach Aufschluss in die Basics Java Basics - Anfänger-Themen 1
B Suche free SVN Hosting Java Basics - Anfänger-Themen 12
S Binäre-Suche Algorithmus Java Basics - Anfänger-Themen 1
S Java Lineare-Suche Zeitmessung Java Basics - Anfänger-Themen 5
S Java Lineare Suche Java Basics - Anfänger-Themen 1
S Binäre-Suche bei unsortierten Daten Java Basics - Anfänger-Themen 7
E Die richtige Suche in der API Java Basics - Anfänger-Themen 1
S suche nach varible POSITION ... fuer das pixel-maennchen Java Basics - Anfänger-Themen 4
E Weg-Suche-Problem rekursiv Java Basics - Anfänger-Themen 12
B Suche Programme mit Fehlern Java Basics - Anfänger-Themen 9
jaleda100 Component für Suche Java Basics - Anfänger-Themen 4
L Suche ein sampel Projekt Java Basics - Anfänger-Themen 2
P Suche Aufwandsgenerator (o-notation) Java Basics - Anfänger-Themen 1
S Suche aktuelles 2D Grafik Tutorial Java Basics - Anfänger-Themen 5
M Suche hilfe bei Array Java Basics - Anfänger-Themen 4
L Binäre Suche mit Comparator Java Basics - Anfänger-Themen 5
J Methoden Suche effiziente Implementierung für eine Methode Java Basics - Anfänger-Themen 3
D Ich suche nach einer Möglickeit den Webseiten Inhalt per Java zu analysieren Automatisch Java Basics - Anfänger-Themen 3
B String: suche nach Wörter und in List<String> speichern Java Basics - Anfänger-Themen 3
D Erste Schritte Suche Quelltext Java Basics - Anfänger-Themen 7
M Rekursion Minimums Suche Java Basics - Anfänger-Themen 12
J Suche Hilfestellung Java Basics - Anfänger-Themen 10
G Erste Schritte Suche Java Programmierer für kleines Projekt Java Basics - Anfänger-Themen 1
J Suche die Emailadresse Java Basics - Anfänger-Themen 6
H Suche in Text und Markierung Java Basics - Anfänger-Themen 14
H Suche in einem Text Java Basics - Anfänger-Themen 17
H Erste Schritte Binäre Suche Java Basics - Anfänger-Themen 37
J Suche simples Beispiel für die EOFException Java Basics - Anfänger-Themen 1
H Rekursion Binäre Suche Java Basics - Anfänger-Themen 2
L Binäre Suche Java Basics - Anfänger-Themen 2
L Linerae Suche in einem sortierten Array Java Basics - Anfänger-Themen 2
N Array, lineare Suche, binäre Suche, Programm bleibt unerwartet stehen... Java Basics - Anfänger-Themen 6
I Innerhalb einer Methode suchen und hinzufügen. Neues Objekt in Suche dann? Java Basics - Anfänger-Themen 8
B Binäre Suche - Junit Test Java Basics - Anfänger-Themen 6
L Einfache Lineare Suche Java Basics - Anfänger-Themen 7
J Binäre Suche eines Array Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Anzeige

Neue Themen


Oben