Gettext-Parser: Rad neu erfinden

Hallo Forum!

Ich möchte einen Parser schreiben, der Text-Dateien nach einem beliebigen Muster scannt und alle Vorkommnisse mit Angabe von Dateinamen und Zeilennummer
#: myFile.php:21
msgid "Text auf Deutsch"
msgstr ""
in einer externen Datei abspeichert.

Dazu zwei Fragen...

1. Wie würdet Ihr so etwas designen?

2. Mit welchen Classen/Methoden kann man das Suchen nach Muster und Auslesen der gefundenen Zeichenkette(-n) realisieren? Konnte beim API leider nix Passendes finden...

Danke.
 

joschi70

Erfahrenes Mitglied
Hi,

das sollte sich mit Regulären Ausdrücken lösen lassen:

Code:
File file = new File("test.txt");
			BufferedReader reader = new BufferedReader(new FileReader(file));
			Pattern pattern = Pattern.compile("test string"); // Regulärer Ausdruck
			
			String text = new String();
			String line;
			int lineNr = 0;
			while((line = reader.readLine()) != null) {
				lineNr++;
				 Matcher matcher = pattern.matcher(line);
				 if(matcher.matches()) {
					 System.out.println(file.getName() + ":" + lineNr);
				 }
			  
			}
			 System.out.println(text);
			reader.close();

Mehr zu Regulären Ausdrücken findest Du hier:
http://www.uni-koeln.de/rrzk/kurse/unterlagen/java/javaref/regex/index.htm

Gruß
joschi
 

Neue Beiträge