Adding 0 value place holders to string array

2 vues (au cours des 30 derniers jours)
Lou
Lou le 12 Déc 2024
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"

Réponse acceptée

Paul
Paul le 13 Déc 2024
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"
  1 commentaire
Lou
Lou le 13 Déc 2024
That worked perfectly! Thank you!!!

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by