Clint
6/24/2008 10:13:00 AM
Sandro Paganotti pisze:
> [Note: parts of this message were removed to make it a legal post.]
>
> I did not understand if you want to split the string on the full stop
> str.split(".")
> or divide the string in words and split them in two groups:
>
>
> str = "Ruby is great. We all know that."
> ([(v=str.split(" "))[0...k=((l=(v.size))/2)]]+[v[k..l]]).map{|e|e.join(" ")}
> => ["Ruby is great.", "We all know that."]
>
>
> On Fri, Jun 20, 2008 at 5:56 PM, <Guillermo.Acilu@koiaka.com> wrote:
>
>> Hello guys,
>>
>> I've started with Ruby a month ago and I am doing some works with strings
>> and regular expressions. I am trying to take a long text and store the
>> individual sentences in an array. I can split a sentence in words and
>> store them in an array, but I cannot manage to do it with sentences.
>>
>> I have used the following assignment to work with the words:
>>
>> str = "Ruby is great"
>> words = []
>> words = str.scan(/\w+/)
>>
>> The result is words[0]="Ruby" words[1]="is" and words[3]="great"
>>
>> I would like to do the following:
>>
>> str = "Ruby is great. We all know that."
>>
>> and get words[0]="Ruby is great" and ruby[1]="We all know that"
>>
>> Any ideas on how to do it with a regular expression instead of looping
>> through the string looking for the "."?
>>
>> Thanks,
>>
>> Guillermo
>>
>
>
>
Hi
maybe you should to try this: words = str.split(/\.\s*/)
it works for me:
irb(main):008:0> str = "Ruby is great. We all know that."
=> "Ruby is great. We all know that."
irb(main):009:0> words = str.split(/\.\s*/)
=> ["Ruby is great", "We all know that"]
irb(main):010:0> words[0]
=> "Ruby is great"
irb(main):011:0> words[1]
=> "We all know that"
irb(main):012:0>
greetings