loading and removing combined string and number vectors

1 view (last 30 days)
Hi all,
I have a series of data including strings (e.g. stars) and numbers like below:
A= [*0.29 *0.45 *0.37 *0.56 *0.49 *0.48 *0.45 ];
I want to load vector A and then remove all stars to achive real vector like A2:
A2= [0.29 0.45 0.37 0.56 0.49 0.48 0.45 ];
How can I write this program?
Thanks in advance.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 7 Nov 2012
Edited: Andrei Bobrov on 7 Nov 2012
A= '*0.29 *0.45 *0.37 *0.56 *0.49 *0.48 *0.45';
out = str2num(regexprep(A,'\*',''));
OR
out = str2double(regexp(A,'\d*(\.|\d)\d*','match'));
  2 Comments
Andrei Bobrov
Andrei Bobrov on 7 Nov 2012
eg text.txt - file with string:
*0.29 *0.45 *0.37 *0.56 *0.49 *0.48 *0.4 1 23
f = fopen('test.txt');
A = textscan(f,'%s');
fclose(f);
A2 = regexp(A{1},'\d*(\.|\d)\d*','match');
A2 = str2double([A2{:}]);

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!