Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
126 views
in Technique[技术] by (71.8m points)

javascript - 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 = "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??

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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(//).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, "//", 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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...