in reply to Re^2: Five Ways to Reverse a String of Words (C#, Perl 5, Perl6, Ruby, Haskell)
in thread Five Ways to Reverse a String of Words (C#, Perl 5, Perl 6, Ruby, Haskell)

Actually that doesn't work correctly in FF or Safari on OS X. It still has several empty strings filling up the array. They become more evident if you do this:

" one two three four ".split(/ /).reverse().join("|")
which gives you "||||four|three|two|||one||".

-stvn
  • Comment on Re^3: Five Ways to Reverse a String of Words (C#, Perl 5, Perl6, Ruby, Haskell)
  • Download Code

Replies are listed 'Best First'.
Re^4: Five Ways to Reverse a String of Words (C#, Perl 5, Perl6, Ruby, Haskell)
by jdporter (Paladin) on Dec 12, 2006 at 16:03 UTC

    Interesting... It works fine in EcmaScript. Or at least Jscript. :-)
    So how about

    " one two three four ".split(/ +/).reverse().join(" ")
    We're building the house of the future together.

      Yup, that one works. Boring, but it works ;)

      -stvn
      Trimming the string is still necessary in order to comply with the specs. Yes, very boring ;-)
      function reverseWords(str) { return str.replace(/^\s+/,'').replace(/\s+$/,'').split(/\s+/).revers +e().join(' '); };