Adding 0 value place holders to string array

Appreciate any help on this challenge. Ive spent a few hours already and havent figured it out. I have a 2500x1 string array. Lets say the first 5 rows look like this:
"0, 74, 46, 94"
"7, 64, 8"
"8, 50, 32, 70"
"6, 43"
"3, 55, 47"
How can I add zeros as place holders for the rows that have less than 4 values? I want the result to look like this:
"0, 74, 46, 94"
"7, 64, 8, 0"
"8, 50, 32, 70"
"6, 43, 0, 0"
"3, 55, 47, 0"

 Accepted Answer

s= [
"0, 74, 46, 94"
"7, 64, 8"
"8, 50, 32, 70"
"6, 43"
"3, 55, 47"]
s = 5x1 string array
"0, 74, 46, 94" "7, 64, 8" "8, 50, 32, 70" "6, 43" "3, 55, 47"
c = count(s,",")
c = 5×1
3 2 3 1 2
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
s = arrayfun(@(s,c) join([s,repmat(", 0",1,3-c)],""),s,c)
s = 5x1 string array
"0, 74, 46, 94" "7, 64, 8, 0" "8, 50, 32, 70" "6, 43, 0, 0" "3, 55, 47, 0"

More Answers (0)

Products

Release

R2023b

Asked:

Lou
on 12 Dec 2024

Edited:

on 13 Dec 2024

Community Treasure Hunt

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

Start Hunting!