Rearranging Bytes in a Cell

2 Ansichten (letzte 30 Tage)
Scott Salazar
Scott Salazar am 9 Aug. 2018
Kommentiert: OCDER am 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.

Akzeptierte Antwort

Stephen23
Stephen23 am 9 Aug. 2018
Bearbeitet: Stephen23 am 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 Kommentar
Scott Salazar
Scott Salazar am 9 Aug. 2018
Thank you so much! It worked like a charm.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by