I looked for an iterator, and there may be something, but I don't recognize it.
I also tried:
while (x =~ /something/ )
p $1
end
and it just printed out the same match over and over. Perl does this very
nicely, but google and pickaxe are not helping me do it in Ruby. Sorry if this
is obvious.
xc
You are looking for String#scan. Hope that helps.
James Edward Gray II
···
On Apr 26, 2006, at 1:21 PM, Xeno Campanoli wrote:
I looked for an iterator, and there may be something, but I don't recognize it.
I also tried:
while (x =~ /something/ )
p $1
end
and it just printed out the same match over and over. Perl does this very
nicely, but google and pickaxe are not helping me do it in Ruby. Sorry if this
is obvious.
Have you looked at String#scan?
irb(main):001:0> s='abc blah blah abc something else abc'
=> "abc blah blah abc something else abc"
irb(main):002:0> s.scan(/abc/)
=> ["abc", "abc", "abc"]
Ryan
···
On 4/26/06, Xeno Campanoli <xeno@eskimo.com> wrote:
I looked for an iterator, and there may be something, but I don't recognize it.
You can use String#scan:
irb
irb(main):001:0> a="This is a test of this thing for this guy on the net."
=> "This is a test of this thing for this guy on the net."
irb(main):002:0> a.scan(/is/)
=> ["is", "is", "is", "is"]
irb(main):003:0> a.scan(/[^ ]is/)
=> ["his", "his", "his"]
irb(main):004:0> a.scan(/[^ ]+is/)
=> ["This", "this", "this"]
irb(main):005:0>
or:
a.scan(/[^ ]+is/) { |match|
puts "#{match} is a match of the regexp."
}
This is a match of the regexp.
this is a match of the regexp.
this is a match of the regexp.
Regards,
JJ
···
On Wednesday, April 26, 2006, at 02:21PM, Xeno Campanoli <xeno@eskimo.com> wrote:
I looked for an iterator, and there may be something, but I don't recognize it.
I also tried:
while (x =~ /something/ )
p $1
end
and it just printed out the same match over and over. Perl does this very
nicely, but google and pickaxe are not helping me do it in Ruby. Sorry if this
is obvious.
xc
---
Help everyone. If you can't do that, then at least be nice.
Thank you all for the answers. I should have guessed to look at the String methods.
Sincerely, Xeno
xc
John Johnson wrote:
···
You can use String#scan:
irb
irb(main):001:0> a="This is a test of this thing for this guy on the net."
=> "This is a test of this thing for this guy on the net."
irb(main):002:0> a.scan(/is/)
=> ["is", "is", "is", "is"]
irb(main):003:0> a.scan(/[^ ]is/)
=> ["his", "his", "his"]
irb(main):004:0> a.scan(/[^ ]+is/)
=> ["This", "this", "this"]
irb(main):005:0>
or:
a.scan(/[^ ]+is/) { |match| puts "#{match} is a match of the regexp." }
This is a match of the regexp.
this is a match of the regexp.
Regards,
JJ
On Wednesday, April 26, 2006, at 02:21PM, Xeno Campanoli <xeno@eskimo.com> wrote:
I looked for an iterator, and there may be something, but I don't recognize it.
I also tried:
while (x =~ /something/ )
p $1
end
and it just printed out the same match over and over. Perl does this very
nicely, but google and pickaxe are not helping me do it in Ruby. Sorry if this
is obvious.
xc
---
Help everyone. If you can't do that, then at least be nice.
--
Xeno Campanoli: http://www.eskimo.com/~xeno
"Even the President of the United States sometimes must have to stand naked."
- Bob Dylan
Just a random thought, but doesn't it seem like this question belongs in some sort of FAQ? (Probably this one: http://www.rubycentral.com/faq/rubyfaqall.html\) It seems a pretty common question, especially for people coming from perl.
···
On Apr 27, 2006, at 1:58 AM, Xeno Campanoli wrote:
Thank you all for the answers. I should have guessed to look at the String methods.
Sincerely, Xeno
xc