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)

Categories

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!