Textdatei durchsuchen

cepedi

Grünschnabel
Hallo zusammen

Ich habe eine Textdatei in der alles mögliche drin steht.
jetzt möchte ich aber nur die hyperlinks haben!
der rest des textes kann ins nirvana verschwinden :)
Wie kann ich den text durchsuchen und die Hyperlinks in ne
andere Datei speichern?

Vielen Dank schonmal
 
Hi

da sind <a href tags drinne

hab die textdatei auch schon hiermit eigelesen

BufferedReader br = new BufferedReader(new FileReader("c:/test.txt"));

jetzt fehlt mir nur noch der richtige regex :)


so sieht die methode zurzeit aus

public void durchsuchen()
{
try
{
BufferedReader br = new BufferedReader(new FileReader("c:/test.txt"));

String line;

Pattern pattern = Pattern.compile("");

while ((line = br.readLine()) != null)
{
Matcher matcher = pattern.matcher(line);
br.append(line + "\n"); //<- append funktioniert nicht
}

br.close();

}
catch(Exception e){}
 
Hallo!

Versuchs mal hiermit:

Code:
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/*
 * Created on 27.06.2004
 *
 * TODO 
 */

/**
 * @author Administrator TODO Describe what the class is used for
 */
public class ExtractLinks {

    public static void main(String[] args) {
        final String regex = ".*?(?i)<a.*?\\shref\\s*?=\\s*?\"(.*?)\".*?>.*?";

        try {
            BufferedReader br = new BufferedReader(new FileReader(
                    "c:/Links.txt"));

            Pattern pattern = Pattern.compile(regex);

            String line;

            while ((line = br.readLine()) != null) {
                Matcher matcher = pattern.matcher(line);
                if (matcher.matches()) {
                    System.out.println(matcher.group(1));
                }
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


Meine Testdatei Links.txt
sfddfjsdfkldfjskljl34342143
23424243fasdfsd<a href="http://www.tutorials.de" style="border: 0px;">asdffsdkölsdfköldf
sdffsdfhsjk3423243<a href="http://www.tutorials.de/usercp.php?">gsdkjgkjdf
3434rf<a href="http://www.tutorials.de/misc.php?amp;action=faq">sdfdsasa
gfdgjklsdfklgf
<a href="http://www.tutorials.de/misc.php?amp;action=faq">

DHJKDHJKhk

E-Mail <a href="http://www.web.de">

FTP: ABNMDB <a href="ftp://ftperv_ne/dddsa">

Ausgabe:


HTH

Gruß Tom
 
Hallo

Ich hab zwar noch nen kleinen Fehler drin aber
funktioniert schon ganz gut :)

in meiner Textarea zeigt er nur einen Link an aber
den Fehler werd ich schon finden :)

Vielen Dank für die Hilfe
 
Hallo

Hab immer noch nen Fehler!
und zwar hab ich 2 oder mehr Hyperlinks in einer Zeile!
er zeigt mir jedoch nur den ersten an und den rest scheint er einfach abzuschneiden!
desweiteren hab ich auch gemischte Hyperlinks drin

also nicht wie gestern angenommen das sie im Format <a href stehen
sondern auch normal wie z.b. http://www.....
 
nach welchen Regeln sind die URLs in deinem Text? Fangen sie alle mit HTTP an? oder sind es verschiedenen Protokolle (FTP, SMTP, POP3, ...)? Steht das Protokoll immer dabei oder kann es auch weggelassen werden?

Schau dir auch mal
http://www.phpbuilder.com/columns/dario19990616.php3
an und lerne den regexp String anzupassen. Programmieren lernt man wenn man das abgeschriebene versteht!
 
Zuletzt bearbeitet:
könntet ihr mir nur mal erklären wie ihr hier datei eingelesen habt ?

also Pattern pattern = Pattern.compile(regex); check ich schon nicht :(

stehen die "ergbnis urls" dann in der text datei
ne oda?
 
Zurück