MATLAB Answers

How to reverse the order of words in string

54 views (last 30 days)
Mekala balaji
Mekala balaji on 14 Jan 2020
Answered: Image Analyst on 14 Jan 2020
I have below sentence and want pring in reverse order;
'Hello. I. am. Here.'
Here. am. I Hello.
I use below code, but both does not work.
>> ss = 'Hello. I. am. Here.'
>> fliplr(ss)
ans =
'.ereH .ma .I .olleH'
>> ss
ss =
'Hello. I. am. Here.'
>> reverse(ss)
ans =
'.ereH .ma .I .olleH'
  1 Comment
Geoff Hayes
Geoff Hayes on 14 Jan 2020
Mekala - you will need to write code that recognizes the words in your sentences and then reverse the order of the words. Using fliplr or reverse will just flip or reverse the characters in your strings/array. Perhaps strtok might be useful.

Sign in to comment.

Accepted Answer

Meg Noah
Meg Noah on 14 Jan 2020
There's undoubetly better solutions, but:
strtrim(strrep(cell2mat([flipud(split('Hello. I. am. Here.'))']),'.','. '))

More Answers (1)

Image Analyst
Image Analyst on 14 Jan 2020
Sounds like homework, so here is a hint towards the solution:
str = 'Hello. I. am. Here.'
words = strsplit(str)
reverseWords = words(end:-1:1)





Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by