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.

 Risposta accettata

Stephen23
Stephen23 il 9 Ago 2018
Modificato: Stephen23 il 9 Ago 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'

Più risposte (1)

OCDER
OCDER il 9 Ago 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 Commenti

Stephen23
Stephen23 il 9 Ago 2018
Note that this does not return the order that the question requests.
OCDER
OCDER il 9 Ago 2018
Doh, I didn't see that order change.

Accedi per commentare.

Categorie

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by