How to create an array of integers from a string
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Akzeptierte Antwort
Azzi Abdelmalek
am 12 Aug. 2014
Bearbeitet: Azzi Abdelmalek
am 12 Aug. 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 Kommentare
Azzi Abdelmalek
am 12 Aug. 2014
It's recommended to avoid eval function, read this http://www.mathworks.com/help/matlab/matlab_prog/string-evaluation.html#bs7kmd5
Weitere Antworten (1)
Jan
am 12 Aug. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!