Correct use of regexp

If x is the following string, I want to add a zero to the end of each sequence of zeros.
x='0110'
y=regexp(x,'[0+]','[0+]$0')
The result should be: x ='001100'

Respuestas (2)

ES
ES el 13 de Feb. de 2018

0 votos

y=regexprep(x,'[0+]','00')

1 comentario

GEORGIOS BEKAS
GEORGIOS BEKAS el 13 de Feb. de 2018
it does not work if the string would be: x='00011000'

Iniciar sesión para comentar.

Steven Lord
Steven Lord el 13 de Feb. de 2018

0 votos

x = char(randi([0 1], 1, 20)+'0')
y = regexprep(x, '0+', '$00')
J Smith's answer doubles the length of each run of 0's in x. Mine adds one 0 to the end of each run of 0's. In the case where all the runs are of length 1 they are the same. They aren't the same when you have runs of length greater than 1.

Categorías

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

Productos

Etiquetas

Preguntada:

el 13 de Feb. de 2018

Comentada:

el 13 de Feb. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by