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.

 Respuesta aceptada

Grzegorz Knor
Grzegorz Knor el 20 de Mzo. de 2012
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 comentarios

Brandon
Brandon el 20 de Mzo. de 2012
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.
Brandon
Brandon el 20 de Mzo. de 2012
Example:
X = 'aabdcaaabcdcdba';
W = '001011111000010110111110111100';
This code produces:
W = 'aabdddaaaabcdddaddaa'
Brandon
Brandon el 20 de Mzo. de 2012
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.
Grzegorz Knor
Grzegorz Knor el 20 de Mzo. de 2012
regexp works correctly in this case :) strrep first looks for patterns, and then replace it.
Abirami
Abirami el 14 de Ag. de 2014
hello, i need to do the same thing for a 256x256 matrix...pls help...

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Characters and Strings en Centro de ayuda y File Exchange.

Productos

Preguntada:

el 20 de Mzo. de 2012

Comentada:

el 14 de Ag. de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by