How to convert string into array?

10 visualizzazioni (ultimi 30 giorni)
Naseeb Gill
Naseeb Gill il 13 Ago 2017
Modificato: Stephen23 il 14 Ago 2017
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?

Risposta accettata

Walter Roberson
Walter Roberson il 14 Ago 2017
t = regexp(regexprep(cellstr(area), '^\s+', ''), '\s+', 'split');
CC = str2double(vertcat(t{:}));

Più risposte (2)

Jan
Jan il 13 Ago 2017
Modificato: Jan il 13 Ago 2017
Perhaps you mean:
D = sscaf(area, '%g', [4, inf]).';
C = num2cell(D)
Do you "cell", or is D the wanted matrix already?
  1 Commento
Naseeb Gill
Naseeb Gill il 13 Ago 2017
Hello Sir, I tried what you suggest but I shows answer like
[1.2341e+11] [2] [1] [8.2116e+43]
But I want every value in a different cell. I don't know what is this? I added my area file in question in case you need. thanks

Accedi per commentare.


Naseeb Gill
Naseeb Gill il 13 Ago 2017
Ok I got it. I just use below line:
CC = str2num(area);
And I got my expected array.
  5 Commenti
Naseeb Gill
Naseeb Gill il 14 Ago 2017
Oh !!! thank you for this knowledge. I will be careful for this.
Stephen23
Stephen23 il 14 Ago 2017
Modificato: Stephen23 il 14 Ago 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

Accedi per commentare.

Categorie

Scopri di più su Data Type Conversion in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by