Binary string to character conversion

Hello, If I have a string, S = 001000110111 Given:
a = 0
b = 10
c = 110
d = 111
I need to convert the string using that key.
So converted_S = aabaacd
How can I do this? Thanks.

 Risposta accettata

S = '001000110111';
a = '0';
b = '10';
c = '110';
d = '111';
S = strrep(S,d,'d');
S = strrep(S,c,'c');
S = strrep(S,b,'b');
S = strrep(S,a,'a')

5 Commenti

Nice solution, but this doesn't quite work without error. My actual string is 256,000 characters, with this I get a string with length 258,446. Seems like strrep doesn't go in order.
Example:
X = 'aabdcaaabcdcdba';
W = '001011111000010110111110111100';
This code produces:
W = 'aabdddaaaabcdddaddaa'
Figured it out! Use regexprep instead of strrep. Thanks for leading me in the right direction, much better than the for loop I was trying to use.
regexp works correctly in this case :) strrep first looks for patterns, and then replace it.
hello, i need to do the same thing for a 256x256 matrix...pls help...

Accedi per commentare.

Più risposte (0)

Categorie

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by