Rearranging Bytes in a Cell

So my output hexadecimal code is saved in a cell in the following format.
{'00 11 22 33 AA BB'}
I am trying to have it output as
{'1100 3322 BBAA'}
Any help would be greatly appreciated.

 Accepted Answer

Stephen23
Stephen23 on 9 Aug 2018
Edited: Stephen23 on 9 Aug 2018
This is easy with regexprep:
>> C = {'00 11 22 33 AA BB'};
>> regexprep(C,'(\w{2}) (\w{2})','$2$1')
ans =
'1100 3322 BBAA'

1 Comment

Thank you so much! It worked like a charm.

Sign in to comment.

More Answers (1)

A = {'00 11 22 33 AA BB'; '00 11 22 3D AA BC'; '02 11 32 33 AA BB'};
A = cellfun(@(x) sprintf('%c%c%c%c %c%c%c%c %c%c%c%c', strrep(x, ' ', '')), A, 'un', false);
A =
3×1 cell array
'0011 2233 AABB'
'0011 223D AABC'
'0211 3233 AABB'

2 Comments

Note that this does not return the order that the question requests.
Doh, I didn't see that order change.

Sign in to comment.

Categories

Tags

Asked:

on 9 Aug 2018

Commented:

on 9 Aug 2018

Community Treasure Hunt

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

Start Hunting!