How to create an array of integers from a string
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi everyone, I have a string of the form: 'm:n, i, j' and I want to create an array with those integers. For example, if my string was '1:3, 10, 11' then the desired array would be [1, 2, 3, 10, 11]. I've tried using the eval function but couldn't figure out how to assign the result of eval to an array. Does anyone have any suggestions?
0 commentaires
Réponse acceptée
Azzi Abdelmalek
le 12 Août 2014
Modifié(e) : Azzi Abdelmalek
le 12 Août 2014
s='1:3, 10, 11'
out=str2num(s)
With eval it should be something like
s='1:3, 10, 11'
eval(strcat('out=[', s ,']'))
2 commentaires
Azzi Abdelmalek
le 12 Août 2014
It's recommended to avoid eval function, read this http://www.mathworks.com/help/matlab/matlab_prog/string-evaluation.html#bs7kmd5
Plus de réponses (1)
Jan
le 12 Août 2014
Reduce the use of EVAL as far as possible:
s = '1:3, 10, 11'
out = eval(['[', s, ']']);
If the format is strictly 'm:n, i, j', this would be cleaner than eval:
d = sscanf(s, '%g:%g, %g, %g')
out = [d(1):d(2), d(3), d(4)]
0 commentaires
Voir également
Catégories
En savoir plus sur Data Type Conversion dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!