--output:-- ["Hello world. Hello moon.\nGoodbye world. Goodbye ", "moon.\n\nHello world. Hello moon.\nGoodbye world. ", "Goodbye moon.\nThe end"] 49 48 21 Hmmm...I'm having a problem getting the ending period while using the word boundary in the regex. I guess that's because there is no start of a word after the ending period for the regex to match. \s works: data.scan(/.+?\s/m) do |word| -- Posted via http://www.ruby-forum.com/.