Pascal-ban miként oldható meg olyan probléma, hogy többszáz fájlban azonos HTML formátumú linkeket kellene szűrni, esetleg segédprogram létezik rá?
Adott többszáz fájl, amelyekben HTML hivatkozások vannak (ezek tulajdonképpen EML formátumban lévő levelek, de a levelezőprogrammal HTML-ben is tudom menteni őket). Szeretném csak azoknak a html hivatkozásoknak a listáját megkapni, amelyek csak egyetlenegyszer szerepelnek bármelyik fájlban, a fájlok közt rengeteg az átfedés, teljesen véletlenszerűen vannak a hivatkozások.
A sortörések sem szabályosak, van hogy 255 karakternél is hosszabbak a sorok ráadásul esetenként pont a sortörésnél törik a link... Kinek milyen ötlete van a feladat kapcsán, illetve ha létezik erre valamiféle segédprogram akkor nem állnék neki a programnak...
Régebben valami olyan metódust próbáltam, hogy karakterenként olvastam a text fájlt és ha a < karakter után 'a' karakter következett, megírtam a többire is: ha szóköz jön, utána ha "h", "r", "e", "f", akkor vegye figyelembe stb... Ez a próbálkozás már elveszett egy váratlanul bekövetkező számítástechnikai probléma miatt... Nem tudom, linux alatt "grep", "awk", "sed" meg hasonlókkal esetleg jobban megoldható lenne a probléma? Shell szkript programozással sose foglalkoztam.
Mennyire szabályos (x)HTML? XML-ként értelmezhető? Ha igen, akkor XSLT-vel és egy XML processzorral viszonylag könnyen kigyűjthetők a linkek.
Ha szabályos, akkor az XSLT megírásában szívesen segítek.
Érdemes megismerkedned a reguláris kifejezésekkel, amelyek pont ezt a nyűglődést szüntetik meg, hogy magad próbálod karakterenként elvégezni a szövegelemzést. Viszont a Pascal tudtommal nem támogatja ezeket, de egy ilyen egyszerű programot nem nagy munka más hasonló nyelven megírni. Ez a karakterenkénti módszer járható, de kínszenvedés lesz.
Ha ez megvan, és ki tudod szűrni a linkeket, akkor használj halmaz adattípust, ami minden modern nyelvben megvan, még a Pascalban is, és így minden csak egyszer fog szerepelni.
@#3:
„használj halmaz adattípust, ... így minden csak egyszer fog szerepelni.”
Szerintem ez éppenhogy elrejti, melyik hivatkozás szerepel csak egyetlenegyszer. Inkább számolni kéne a találatokat, és a végén csak azokat figyelembe venni, amelyiknél egy van.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!