最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Reversing a string - Stack Overflow

programmeradmin0浏览0评论

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 = "you are how"

My code var my_str="how are you"; alert(my_str.split('').reverse().join(''));

Result I get: uoy era woh

How to get the final result??

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 = "you are how"

My code var my_str="how are you"; alert(my_str.split('').reverse().join(''));

Result I get: uoy era woh

How to get the final result??

Share Improve this question edited Mar 29, 2011 at 1:14 matthew 2,9323 gold badges25 silver badges25 bronze badges asked Mar 28, 2011 at 23:50 dragonflydragonfly 3,2277 gold badges33 silver badges54 bronze badges
Add a comment  | 

4 Answers 4

Reset to default 14

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.

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

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

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.

If you are using ES6 then you could use this -

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

发布评论

评论列表(0)

  1. 暂无评论