Skip to content Skip to sidebar Skip to footer

Reversing A String

I want to reverse a string, then I want to reverse each word in it. I was able to reverse the string. But couldn't reverse words in it. Given Str = 'how are you' Expected Result =

Solution 1:

the other answers are entirely correct if your string has only 1 space between words.

if you have multiple spaces between words, then things are a bit different: to get just the words, in reverse order, rejoined by 1 space:

str.split(/\s+/).reverse().join(" ")

to reverse the entire string, and still have the original whitespace:

str.split(/\b/).reverse().join('')

the first one uses a regex, "/\s+/", to match an entire run of spaces, instead of a single space. it rejoins the words with a single space.

the second one uses a regex, "/\b/", to just split on the boundaries between words and non-words. since the runs of spaces will be preserved, it just rejoins with an empty string.

Solution 2:

I think you've got an empty string in there: my_str.split('')

Make sure you put a space: my_str.split(' ')

Solution 3:

The problem is you are splitting with the empty string instead of the space character. Try this:

var str = "how are you";
alert(str.split(" ").reverse().join(" "));

Try it here.

Solution 4:

If you are using ES6 then you could use this -

let myStr="How are you";
    console.log([...myStr].reverse().join(''));

Post a Comment for "Reversing A String"