Hi,
I wonder if there is a way of counting a word in a line using ruby
regexp.
Such as how many "Hi"'s in a line.
Let's say when I enter a line
"Hello and Hi there hey hear my Hi"
It should give me 2, because there are 2 "Hi"'s.
I have something like this but looks awkward.
while line=gets.chomp
cnt = 0
line.split.each {
>v>
if v == 'Hi' then
cnt +=1
end
}
break if cnt > 2
end
Thanks in advance
Yusuf Celik
···
--
Posted via http://www.ruby-forum.com/.
Sorry made a mistake
line=gets.chomp
cnt = 0
line.split.each {
>v>
if v == 'Hi' then
cnt +=1
end
}
puts "#{cnt}"
···
--
Posted via http://www.ruby-forum.com/.
Yusuf Celik wrote:
Sorry made a mistake
line=gets.chomp
cnt = 0
line.split.each {
>v>
if v == 'Hi' then
cnt +=1
end
}
puts "#{cnt}"
Isn't there some totally unreadable regex that does this? ![:slight_smile: :slight_smile:](https://emoji.discourse-cdn.com/twitter/slight_smile.png?v=12)
···
--
M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P)
http://borasky-research.net/
If God had meant for carrots to be eaten cooked, He would have given rabbits fire.
Thanks David,
What can I say I am speechless.
Just 1 line wow.
Thanks anyway
Yusuf
···
You could do:
line.scan(/\bHi\b/).size
(or \s instead of \b if you want it to be spaces instead of word
boundaries [which can also be hyphens and other punctuation]).
--
Posted via http://www.ruby-forum.com/\.