Splitting a sentence with delimiter preserved

Hi,

I am a newbie and the answer to this might be too simple.
How do I improve the example below and reduce the number of passes
over the string?

string = “This is an example string. The purpose is to save the
delimiter during split. Does this work. Great!!!.”

re = /(.\s+)(\D)/
string.gsub!(re,’\1’+’#’+’\2’)
b = string.split(’#’)
puts b

Thanks
Ajith