Uklanjanje svih "ne-slova" iz stringa

Uklanjanje svih "ne-slova" iz stringa

offline
  • Pridružio: 10 Avg 2006
  • Poruke: 1009
  • Gde živiš: Beograd

Pozdrav ljudi. Sa interneta skidam jednu prilično jednostavnu HTML stranicu. Ono što mi sad treba jeste da iz nje izbacim SVE,ali baš SVE osim slova. Uključujući i nove redove i "tab" (uvlačenja) i sve Shocked .

Pokušao sam ovako,ali nešto ne funkcioniše,on izbaci većinu stvari,ali neke ostaju.....

private void SetRealmStatus(string text)         {             string tpars = text;             for (int charpos = 0; charpos < tpars.Length; charpos++)             {                 if (!Char.IsLetter(tpars,charpos))                 {                     tpars = tpars.Remove(charpos, 1);                 }             }


Cela poenta je da iz:

<div align=center><font color=gray>Magic-WoW Realm Status script</font><br><br></div><div align=center><table align="center" border="0"> <tr> <td class="td">    <label for="username">    <font color="gray" size="2px">Logon server:</font>    </label> </td> <td>    <img src='images/offline.jpg'></td> </tr> <tr> <td class="td">    <label for="password">    <font color="gray" size="2px">MagicWoW Realm:</font>    </label> </td> <td>    <img src='images/online.jpg'></td> </tr> <tr> <td class="td">    <label for="password">    <font color="gray" size="2px">Frozen Realm:</font>    </label> </td> <td>    <img src='images/online.jpg'>                             </td> </tr> </table> </div>

Izvučem za svaku od ove tri stvari "Logon server,Magic realm,Frozen realm" da li je online.

Prava stranica: http://magic-wow.com/forum/rmstatus.php



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 15 Maj 2006
  • Poruke: 333
  • Gde živiš: Babušnica

Davno sam radio sa .net ali zasto ne probas preko provere ASCII koda i tako izbacis sve sto nije u okviru slova (lower, upper)...



offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

Ne moze da izdvoji tekst iz HTML-a tako. Treba da se uradi HTML parser koji prepoznaje tagove.
To nije nesto preterano tesko, a ima i gotovih parsera na netu.

offline
  • soxxx 
  • Prijatelj foruma
  • Pridružio: 25 Maj 2005
  • Poruke: 1482
  • Gde živiš: Gracanica, Kosovo

Jel mora da resenje bude u .NET? Pitam posto mi izgleda kao zadatak za neki od alata za obradu teksta. Izvinjavam se za upad. Wink

EDIT: Dok se ja nakanim da odgovorim vidim vec si dobio odgovore. Smile

offline
  • Pridružio: 10 Avg 2006
  • Poruke: 1009
  • Gde živiš: Beograd

MSMarkoN ::Davno sam radio sa .net ali zasto ne probas preko provere ASCII koda i tako izbacis sve sto nije u okviru slova (lower, upper)...

Mmm,probaću to sad

Citat:Ne moze da izdvoji tekst iz HTML-a tako. Treba da se uradi HTML parser koji prepoznaje tagove.
To nije nesto preterano tesko, a ima i gotovih parsera na netu.


Što ne može ako sam ga uvukao u string? Confused
Da,znam da to postoji ali nikad nisam koristio pa sam mislio ovako "ručno" pošto bi zadatak trebao da je manje-više jednostavan

Citat:Jel mora da resenje bude u .NET? Pitam posto mi izgleda kao zadatak za neki od alata za obradu teksta. Izvinjavam se za upad.

Nije za obradu teksta. To je pomoćni program za jedan World of Warcraft server. Čisti cache,iz XML fajlova čita koliko je ljudi online,novosti i te statistike. Prilično je složen program već Razz . Poenta je da su oni u PHP-u napravili stranicu koja očitava da li je server online ili nije i onda ja hoću sad program da nateram da i on čita stranicu tu i upozori igrača da server nije online Very Happy

offline
  • Pridružio: 15 Maj 2006
  • Poruke: 333
  • Gde živiš: Babušnica

Da radis u PHP-u bilo bi ti mnogo jednostavnije uz pomoc funkcije strip_tags a ovako ce biti veselo. Mozes i ovako da probas: nadjes poziciju '>' i poziciju '<' i uz pomoc niza smestas sve sto se nalazi izmedju, ocistis ukoliko nije slovo (ili broj ako treba) i ides dalje.

Dopuna: a za online/offline trazis '<img' i odatle izvuces status.

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3645
  • Gde živiš: 127.0.0.1

@MSMarkoN: strip_tags bi mu ocistio veci deo, to je tacno. Jedino sto bi ocistio i <img> tag, u kome se nalazi informacija da li je server online ili ne Wink

Pokusaj sa RegEx-om, mislim da je to najlakse resenje.

offline
  • Pridružio: 10 Avg 2006
  • Poruke: 1009
  • Gde živiš: Beograd

Uradio na kraju sa HTML parserom. Napravio ga neki lik jako jednostavan i jednostavno se koristi.


Evo ga screenshot programčića.

Razz

offline
  • soxxx 
  • Prijatelj foruma
  • Pridružio: 25 Maj 2005
  • Poruke: 1482
  • Gde živiš: Gracanica, Kosovo

@igorpan

Verovatno sam te ja pogresno razumeo, ukapirao sam da ti treba da izvadis par stvari iz loga parsirajuci XML. A i vise sam nekako razmisljao u drugom pravcu, mada je ovo moguce izvesti recimo koristeci mawk:
C:\> mawk -F"[><]" 'c&&!--c{if($0~nadji)print l, nadji};NR==1{next}/font color/{c=4;l=$3}' nadji=online proba.html MagicWoW Realm: online Frozen Realm: online C:\> mawk -F"[><]" 'c&&!--c{if($0~nadji)print l, nadji};NR==1{next}/font color/{c=4;l=$3}' nadji=offline proba.html Logon server: offline
Vazno da si sredio stvar. Wink

Ko je trenutno na forumu
 

Ukupno su 706 korisnika na forumu :: 40 registrovanih, 3 sakrivenih i 663 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3028 - dana 22 Nov 2019 07:47

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., Apok, apostata, Atomski čoban, bankulen, branko7, cenejac111, dane007, Doca, Doctor NO, dogodine, Faki-Valjevo, goxin, GreenMan, HrcAk47, ILGromovnik, Ilija Cvorovic, Jethro, lavi, Marko Marković, markony85x, menges, Mercury, Pavle01, pera12345, Rakenica, robertino, royst33, Srky Boy, stug, su27, suton, t84dar, theNedjeljko, trutcina, VJ, Vlada1389, vlvl, zajcev1, zdrebac