Kezdőoldal » Számítástechnika » Programozás » Java Regex feladattal nem bírok?

Java Regex feladattal nem bírok?

Figyelt kérdés

Házi feladatot nem tudom megcsinálni. Léci segíts.

Következő java programra lenne szükségem:

Beolvas egy fájlt(in.txt), amiben html kódok vannak.

Kiszedi belőle azokat a szavakat, amelyek a <name> és </name> tag-ek között szerepelnek, majd elmenti egy másik fájlba(out.txt) 1név/sor.

Köszi, ha segítesz.



2012. ápr. 27. 08:19
 1/2 BKRS válasza:

Van nehany lehetseges buktato a feladatban amire erdemes figyleni:

1. buktato: a html kodban a <name> es az azt koveto </name> kulon sorban is lehet meg egy sorban is lehet, a szoveg kozte lehet tobb soros, esetleg egybe tagokkal a sorban, amit gondolom ki kene szedni es egy sorba rendezni mielott az outputot generalod.

2. buktato: egy sorban tobb name-tag par is lehet

3. buktato: lehetnek egymasba agyazott <name> tag parok.

4. buktato: lehet, hogy a html kod nincs jol formazva es vannak extra </name> tagok itt-ott a szovegben.

5, buktato: html tagokrol leven szo a tag barmely betuje lehet kis vagy nagybetu. A html-en belul ez nem okoz zavart a bongeszo szamara, viszont a java programodnak valoszinuleg a <NAME> es a <nAme> tagokat meg hasonlokat is el kell tudni csipnie.


Na ezekre jobb ha elore ratervezel, mert ha megvan a progid, akkor marha nehez tud lenni utolag valtoztatgatni.

2012. ápr. 27. 16:30
Hasznos számodra ez a válasz?
 2/2 A kérdező kommentje:

Eddig jutottam:


import java.util.regex.Pattern;

import java.util.regex.Matcher;

import java.io.*;


public class readname

{

public static void main(String[] args)

throws IOException

{

Pattern p = Pattern.compile("<name>(.*)</name>",Pattern.DOTALL);

BufferedReader r = new BufferedReader(new FileReader("in.txt"));

String line;

while ((line = r.readLine()) != null )

{

Matcher m = p.matcher(line);

while (m.find())

{

System.out.println(m.group(1));

}

}

}

}


Arra nem tudok rájönni, hogy az eredményt ne kiírja, hanem elmentse az "out.txt"-be.

Meg valami RelativePath-t sem lenne rossz beépíteni. Azt sem tudom, hogyan kell.

Az általad írt problémák nem állnak fenn. A name, mindig 8 karakter és a helyén van egy sorban.

2012. ápr. 27. 20:02

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!