Hallo liebe Forum-Gemeinde,
ich versuche gerade Word-Dokumente (*.doc) mit Java einzulesen. Dabei teile ich Zeilen-Streams (String-Buffer), mit Hilfe der Split-Methode, in Tokens auf.
Anschließend möchte ich die Tokens untersuchen, ob es sich um eine Email-Adresse, Telefonnummer etc. handelt. Für die Token-Analyse verwende ich "reguläre Ausdrücke" mit der Pattern-Klasse.
Mein bisheriger Quell-Code:
In einer Word-Datei "Test.doc" habe ich eine Email-Adresse zu stehen:
Adresse Hochmeisterstr.3a
Anschrift: kei_der-dam-m- 23
Hallo World tabukator
Telefon 24567987
Das ist eine Word-Datei
Das ist eine weitere Zeile
E-Mail gehsj@jsd.com
lkjl
Leider wird mir die Email auf der Console nicht angezeigt.
Kann mir jemand sagen, was an meinem Pattern falsch wäre?
LG
ich versuche gerade Word-Dokumente (*.doc) mit Java einzulesen. Dabei teile ich Zeilen-Streams (String-Buffer), mit Hilfe der Split-Methode, in Tokens auf.
Anschließend möchte ich die Tokens untersuchen, ob es sich um eine Email-Adresse, Telefonnummer etc. handelt. Für die Token-Analyse verwende ich "reguläre Ausdrücke" mit der Pattern-Klasse.
Mein bisheriger Quell-Code:
Java:
import java.io.*;
import java.util.regex.Pattern;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.WordExtractor;
public class Model{
...
public void readFile(){
try{
fis = new FileInputStream("C:\\test.doc");
doc = new HWPFDocument(fis);
we = new WordExtractor(doc);
fis.close();
}
catch(Exception e){
e.printStackTrace();
}
for(String para: we.getParagraphText()){
String[] tokens = para.split("[\\t:;, ]+");
for(int i=0; i < tokens.length; i++){
if(Pattern.matches("[a-zA-Z0-9-_]+@[a-zA-Z0-9-_]+\\.[a-z]{2,3}", tokens[i])){
System.out.print(tokens[i]);
}
else if(tokens[i].equalsIgnoreCase("Telefon")){
System.out.print(tokens[i+1]);
}
}
}
}
In einer Word-Datei "Test.doc" habe ich eine Email-Adresse zu stehen:
Adresse Hochmeisterstr.3a
Anschrift: kei_der-dam-m- 23
Hallo World tabukator
Telefon 24567987
Das ist eine Word-Datei
Das ist eine weitere Zeile
E-Mail gehsj@jsd.com
lkjl
Leider wird mir die Email auf der Console nicht angezeigt.
Kann mir jemand sagen, was an meinem Pattern falsch wäre?
LG
Zuletzt bearbeitet: