Rearranging Bytes in a Cell

3 views (last 30 days)
Scott Salazar
Scott Salazar on 9 Aug 2018
Commented: OCDER on 9 Aug 2018
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
Scott Salazar
Scott Salazar on 9 Aug 2018
Thank you so much! It worked like a charm.

Sign in to comment.

More Answers (1)

OCDER
OCDER on 9 Aug 2018
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
Stephen23
Stephen23 on 9 Aug 2018
Note that this does not return the order that the question requests.
OCDER
OCDER on 9 Aug 2018
Doh, I didn't see that order change.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!