How to pad zero in string using sprintf

26 ビュー (過去 30 日間)
Nimas
Nimas 2023 年 1 月 5 日
コメント済み: Fangjun Jiang 2023 年 1 月 5 日
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'

回答 (3 件)

Bora Eryilmaz
Bora Eryilmaz 2023 年 1 月 5 日
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 件のコメント
Stephen23
Stephen23 2023 年 1 月 5 日
Fangjun Jiang
Fangjun Jiang 2023 年 1 月 5 日
good to know

サインインしてコメントする。


Fangjun Jiang
Fangjun Jiang 2023 年 1 月 5 日
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 2023 年 1 月 5 日
@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"
  1 件のコメント
Stephen23
Stephen23 2023 年 1 月 5 日
+1 nice

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeCharacters and Strings についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by