How to search words starting with a particular char?

Hi to all!

I need to search how many words are starting with a specific character
in a text file, no problem to read the file, but after that I split it
in words, how can
I search all occurencies that’s matching my criteria in the resulting
array? Maybe split isn’t the best solution?

I would like an output similar to this:

Number of words starting with ’ ’ = 12345

Here’s the code:

txt = File.read(“C:\text.txt”)

list = txt.split

Thanks.

Best regards.

I need to search how many words are starting with a specific character

A word border can be matched with \b.

Using split + grep:
irb(main)> a = ‘foo bar foo bar foo bar’
irb(main)> a.split(/\b/).grep(/^f\w*/)
=> [“foo”, “foo”, “foo”]
irb(main)> a.split(/\b/).grep(/^f\w*/).size
=> 3

Another solution would be to use scan:
irb(main)> a.scan(/\bf\w*/)
=> [“foo”, “foo”, “foo”]
irb(main)> a.scan(/\bf\w*/).size
=> 3

ThoML wrote:

I need to search how many words are starting with a specific character

A word border can be matched with \b.

Using split + grep:
irb(main)> a = ‘foo bar foo bar foo bar’
irb(main)> a.split(/\b/).grep(/^f\w*/)
=> [“foo”, “foo”, “foo”]
irb(main)> a.split(/\b/).grep(/^f\w*/).size
=> 3

Another solution would be to use scan:
irb(main)> a.scan(/\bf\w*/)
=> [“foo”, “foo”, “foo”]
irb(main)> a.scan(/\bf\w*/).size
=> 3

Thanks a lot for the helpful and fast answer.

Best regards.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs