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)

Categories

Find more on Functions in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!