🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.ruby
5 messages
5 total messages Started by shaman Fri, 09 May 2008 08:21
jak przeczesać tekst i wyłuskać dane?
#1060
Author: shaman
Date: Fri, 09 May 2008 08:21
17 lines
1137 bytes
Hi.. to mój pierwszy kontakt z Ruby. Wymyśliłem sobie na początek 
wyciąganie danych z htmla. Ale nie wiem jak się zmyślnie przesuwać po 
kolejnych dopasowaniach patternu.

może:
s = StringScanner.new(body);
while s.scan_until(/pattern/) do
   m = /pattern/.match(s.matched)
   puts m[1]
   puts m[2]
    ...
end

Nie podoba mi się to - jak to zrobić lepiej?

PZDR
Shaman
Re: jak przeczesać tekst i wyłuskać dane?
#1061
Author: Wojciech Piekutowski
Date: Fri, 09 May 2008 09:19
11 lines
1457 bytes
On May 9, 11:21 am, shaman <no...@nowhere.com> wrote:
> Hi.. to mój pierwszy kontakt z Ruby. Wymyśliłem sobie na początek
> wyciąganie danych z htmla. Ale nie wiem jak się zmyślnie przesuwać po
> kolejnych dopasowaniach patternu.

Hej,

Do przetwarzania HTML/XML polecam bibliotekę Hpricot.

Pozdrawiam,
Wojciech Piekutowski
Re: jak przeczesać tekst i wyłuskać dane?
#1062
Author: shaman
Date: Fri, 09 May 2008 10:14
11 lines
1325 bytes
Wojciech Piekutowski pisze:
> On May 9, 11:21 am, shaman <no...@nowhere.com> wrote:
> 
> Do przetwarzania HTML/XML polecam bibliotekę Hpricot.

dzięki - zapoznam się z tą biblioteką, ale co gdyby chodziło o dane w 
innym formacie? Jak ładnie można je przejrzeć za pomocą wyrażeń 
regularnych? Spodziewałem się jakiejś konstrukcji z użyciem bloku.... (?)

PZDR
Shaman
Re: jak przeczesać tekst i wyłuskać dane?
#1063
Author: Wojciech Piekutowski
Date: Sat, 10 May 2008 09:47
19 lines
1840 bytes
On May 9, 1:14 pm, shaman <no...@nowhere.com> wrote:
> Wojciech Piekutowski pisze:
>
> > On May 9, 11:21 am, shaman <no...@nowhere.com> wrote:
>
> > Do przetwarzania HTML/XML polecam bibliotekę Hpricot.
>
> dzięki - zapoznam się z tą biblioteką, ale co gdyby chodziło o dane w
> innym formacie? Jak ładnie można je przejrzeć za pomocą wyrażeń
> regularnych? Spodziewałem się jakiejś konstrukcji z użyciem bloku.... (?)
>
> PZDR
> Shaman

Rozwiązań jest tysiące. Zależy co dokładnie chcesz zrobić. Być może
String#scan odpowiada twoim potrzebom.

Pozdrawiam,
Wojciech Piekutowski
Re: jak przeczesać tekst i wyłuskać dane?
#1064
Author: shaman
Date: Tue, 13 May 2008 08:57
21 lines
1617 bytes
Wojciech Piekutowski pisze:
> On May 9, 1:14 pm, shaman <no...@nowhere.com> wrote:
>> Wojciech Piekutowski pisze:
> 
> Rozwiązań jest tysiące. Zależy co dokładnie chcesz zrobić. Być może
> String#scan odpowiada twoim potrzebom.

Chciałem zrobić dokładnie to co napisałem - przelecieć tekst i wyczesać 
dane odpowiadające wyrażeniu. Ostatecznie stanęło na takiej konstrukcji:

  body = http_response.body
  body.scan(pattern) do |a, b, c|
    puts a << ' ' << b << ' ' << c;
    ...
    ...
  end

Na razie mnie to satysfakcjonuje :)

PZDR
Shaman
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads