How to pad zero in string using sprintf

23 visualizaciones (últimos 30 días)
Nimas
Nimas el 5 de En. de 2023
Comentada: Fangjun Jiang el 5 de En. de 2023
Hello, I have some string
'1010'
'111'
'010'
'10'
'10111'
How to pad zero after the string by using sprint function to be like this
'10100'
'11100'
'01000'
'10000'
'10111'

Respuestas (3)

Bora Eryilmaz
Bora Eryilmaz el 5 de En. de 2023
This should work on both char arrays as well as strings:
a = { '1010'
'111'
'010'
'10'
'10111'}
a = 5×1 cell array
{'1010' } {'111' } {'010' } {'10' } {'10111'}
b = pad(a, '0')
b = 5×1 cell array
{'10100'} {'11100'} {'01000'} {'10000'} {'10111'}

Fangjun Jiang
Fangjun Jiang el 5 de En. de 2023
a={'1010'
'111'
'010'
'10'
'10111'};
b=char(a)
b = 5×5 char array
'1010 ' '111 ' '010 ' '10 ' '10111'
b(b==' ')='0'
b = 5×5 char array
'10100' '11100' '01000' '10000' '10111'

the cyclist
the cyclist el 5 de En. de 2023
@Fangjun Jiang gave a great answer for character arrays (which is what you show that you have).
This is a case where MATLAB's new-ish (R2016) string data type might suit your need better, if you can go upstream in your code to use that type.
string = ["1010";
"111";
"010";
"10";
"10111"];
pad(string,"0")
ans = 5×1 string array
"10100" "11100" "01000" "10000" "10111"

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by