How to convert string into array?
8 views (last 30 days)
Show older comments
Hello, I have a string named area in which string are stored as shown below:
1 2296.0 220.9 232.5
2 814.0 344.7 263.9
3 993.0 372.9 241.4
4 2406.0 469.7 228.5
I want to convert this string into array. So I used cellstr(area) but what I got is all these values in one cell only.
' 1 2296.0 220.9 232.5'
' 2 814.0 344.7 263.9'
' 3 993.0 372.9 241.4'
' 4 2406.0 469.7 228.5'
' 4 2406.0 469.7 228.5'
What I want is every value in different cell. Like, in first column 1,2,3,4 etc. In 2nd column 2296.0, 814.0 etc. How can I do this?
0 Comments
Accepted Answer
Walter Roberson
on 14 Aug 2017
t = regexp(regexprep(cellstr(area), '^\s+', ''), '\s+', 'split');
CC = str2double(vertcat(t{:}));
0 Comments
More Answers (2)
Naseeb Gill
on 13 Aug 2017
5 Comments
Stephen23
on 14 Aug 2017
Edited: Stephen23
on 14 Aug 2017
@NASEEB SINGH: str2num hides eval inside, and eval is a bit rsky to use as it can execute arbitrary code (also is slow, hard to debug, etc): https://www.mathworks.com/matlabcentral/answers/304528-tutorial-why-variables-should-not-be-named-dynamically-eval
See Also
Categories
Find more on Data Type Conversion in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!