How to pad zero in string using sprintf

11 vues (au cours des 30 derniers jours)
Nimas
Nimas le 5 Jan 2023
Commenté : Fangjun Jiang le 5 Jan 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'

Réponses (3)

Bora Eryilmaz
Bora Eryilmaz le 5 Jan 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'}
  3 commentaires
Stephen23
Stephen23 le 5 Jan 2023
Fangjun Jiang
Fangjun Jiang le 5 Jan 2023
good to know

Connectez-vous pour commenter.


Fangjun Jiang
Fangjun Jiang le 5 Jan 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 le 5 Jan 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"

Community Treasure Hunt

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

Start Hunting!

Translated by